• XSS.stack #1 – первый литературный журнал от юзеров форума

Возможные способы обхода WAF

den nicolas

RAM
Пользователь
Регистрация
25.04.2022
Сообщения
133
Реакции
37
Всем привет, есть один сайтец, стоит cloudflare какие способы поиска исходного айпи есть? Censys и Shodan не помогли, юзал еще несколько утилит но результат не получил. Какие еще способы есть?
П.с кто не понял нужен айпи за WAF
 
Sometimes using a img import from external source can help, for exemple profile picture changing y giving a link to a picture located on your server.
In some cases the client (you) will load img and then send it to the server, in this scenario the technique is useless.
But in other cases the server can load the image from the given link, so the server makes the request and your server logs the real ip.

I don't know if cloudflare acts as a regular WAF or if it uses proxy or something to hide the server's ip when it calls an other server but this technique was used a lot to resolve .onion boards real ip some time ago.
 

den nicolas

xttps://viewdns.info/iphistory/?domain=www.site.com
посмотри старый ip до клауда, может они после того, как клауд повесили - не переезжали (не меняли ip).
https://securitytrails.com/list/apex_domain/site.com <--- без www
Проверь сабдомены, какой то может вести на голый ip сервака (самый частый случай)
Сертификат (если не от от клауда)
вот тут глянь еще https://www.shodan.io/domain/www.site.com, может не чекал domain records.
Попробуй получить письмо от них, например подтверждение\уведомление при реге, или подпишись на рассылку, etc. Глянь в хедерах, там может быть ip майл сервака, который может быть основным.
Вообще есть масса вариантов, как и специализированного софта тоже валом, который делает это всё автоматом.
Гугли cloudflare bypass в конце концов ))) И на форуме тоже. Тут были методы. Долго расписывать, тебе легче поискать самому.
Ну и чекай не чз браузер, а : curl -H "Host: www.site.com" -k http(s)://ip -l --proxy socks5://proxy.ip:port
 

den nicolas

xttps://viewdns.info/iphistory/?domain=www.site.com
посмотри старый ip до клауда, может они после того, как клауд повесили - не переезжали (не меняли ip).
https://securitytrails.com/list/apex_domain/site.com <--- без www
Проверь сабдомены, какой то может вести на голый ip сервака (самый частый случай)
Сертификат (если не от от клауда)
вот тут глянь еще https://www.shodan.io/domain/www.site.com, может не чекал domain records.
Попробуй получить письмо от них, например подтверждение\уведомление при реге, или подпишись на рассылку, etc. Глянь в хедерах, там может быть ip майл сервака, который может быть основным.
Вообще есть масса вариантов, как и специализированного софта тоже валом, который делает это всё автоматом.
Гугли cloudflare bypass в конце концов ))) И на форуме тоже. Тут были методы. Долго расписывать, тебе легче поискать самому.
Ну и чекай не чз браузер, а : curl -H "Host: www.site.com" -k http(s)://ip -l --proxy socks5://proxy.ip:port
вообще Censys и Shodan никогда не подводили еще и сайт сам дешманский первый раз такое. А вообще возможно ли такое что совсем прям спрятать исходный айпи?
 
вообще Censys и Shodan никогда не подводили еще и сайт сам дешманский первый раз такое. А вообще возможно ли такое что совсем прям спрятать исходный айпи?
На моей практике работы с таргетами - достать реальный IP через censys/shodan удается в 10-15% случаях, ибо мало-мальски грамотный админ при накрытии сайта тем же CloudFlare позаобится о полном закрытии IP извне - в конфиге того же Nginx это делается за минуту, по моей ссылке выше (на статью) есть инфа об этом.
 
На моей практике работы с таргетами - достать реальный IP через censys/shodan удается в 10-15% случаях, ибо мало-мальски грамотный админ при накрытии сайта тем же CloudFlare позаобится о полном закрытии IP извне - в конфиге того же Nginx это делается за минуту, по моей ссылке выше (на статью) есть инфа об этом.
Друг этот мануал у меня есть по нему я уже пробовал
 
ТС скинул в личку таргет. На таргете принудительно устанавливаются интересные куки:

Код:
Set-Cookie: Max-Age=31449600; Path=/; SameSite=Lax

Версию Nginx / ОС стандартными средствами определить не получается. Пришлось применить дудос:

000000.png


Идем в тот же ценсис и делаем запрос:

Код:
services.http.response.headers.Server=`nginx/1.18.0 (Ubuntu)`

Получаем 828235 хостов. Выгружаем через апи все IP адреса.

И пихаем их в Httpx:

Код:
./httpx -l ips.txt -location -title -follow-redirects -sr -nf -nc -H 'Host: target.com' -t 150 -rl 450 -o results.txt

Что это такое? Софтина делает к каждому IP запрос (HTTP и HTTPS) с хидером "Host" вида:

Код:
https://127.0.0.1/ HTTP/1.1
Host: target.com

И в случае если домен в хосте действительно резолвится на какой либо IP из нашего списка, то мы это увидим в итоговых результатах, сможем это определить по нескольким параметрам.

По завершении работы в результатах (если мы попали в "яблочко") мы можем найти IP нашего таргета либо по тайтлу, либо по Location хидеру, либо открываем файл с сохраненными респонсами (для этого юзали флаг "-sr") и ищем таргет по кукам "Max-Age=31449600" или "SameSite=Lax".

Надеюсь понятно объяснил, по другому не умею. Ну кароче кому надо тот разберется. Если же на сервере который стоит за CF есть фаерволл который режет все коннекты извне кроме подсетей CloudFlare, то реальный IP ни как не вытащить.
 
Последнее редактирование:
ТС скинул в личку таргет. На таргете принудительно устанавливаются интересные куки:

Код:
Set-Cookie: Max-Age=31449600; Path=/; SameSite=Lax

Версию Nginx / ОС стандартными средствами определить не получается. Пришлось применить дудос:

Посмотреть вложение 38235

Идем в тот же ценсис и делаем запрос:

Код:
services.http.response.headers.Server=`nginx/1.18.0 (Ubuntu)`

Получаем 828235 хостов. Выгружаем через апи все IP адреса.

И пихаем их в Httpx:

Код:
./httpx -l ips.txt -location -title -follow-redirects -sr -nf -nc -H 'Host: target.com' -t 150 -rl 450 -o results.txt

Что это такое? Софтина делает к каждому IP запрос (HTTP и HTTPS) с хидером "Host" вида:

Код:
https://127.0.0.1/ HTTP/1.1
Host: target.com

И в случае если домен в хосте действительно резолвится на какой либо IP из нашего списка, то мы это увидим в итоговых результатах, сможем это определить по нескольким параметрам.

По завершении работы в результатах (если мы попали в "яблочко") мы можем найти IP нашего таргета либо по тайтлу, либо по Location хидеру, либо открываем файл с сохраненными респонсами (для этого юзали флаг "-sr") и ищем таргет по кукам "Max-Age=31449600" или "SameSite=Lax".

Надеюсь понятно объяснил, по другому не умею. Ну кароче кому надо тот разберется. Если же на сервере который стоит за CF есть фаерволл который режет все коннекты извне кроме подсетей CloudFlare, то реальный IP ни как не вытащить.

Все ясно, вот с выгрузкой через апи где ознакомиться можно ?
 
./httpx -l ips.txt -location -title -follow-redirects -sr -nf -nc -H 'Host: target.com' -t 150 -rl 450 -o results.txt
А где этот файл находится для которого предназначена эта команда ? В каталоге с гитхаба его нету ./httpx как ее запустить то?
 
А где этот файл находится для которого предназначена эта команда ? В каталоге с гитхаба его нету ./httpx как ее запустить то?
Так и запускать, как указал выше, еще можешь попробовать без "./". Для работы скрипта необходимо установить голанг 1.17, в инструкции это указано.
Команда ./httpx или httpx - через системную переменную PATH вызывает скрипт runner.go
 
Так и запускать, как указал выше, еще можешь попробовать без "./". Для работы скрипта необходимо установить голанг 1.17, в инструкции это указано.
Команда ./httpx или httpx - через системную переменную PATH вызывает скрипт runner.go
У меня команда httpx-toolkit решила эту проблему.

А с выгрузкой через api как можно все сразу выгрузить ну или хотя бы по частям? У меня только 100 адресов выгружает список адресов даже не меняется, пользуюсь командой
censys search 'services.http.response.headers.Server=`nginx/1.18.0 (Ubuntu)`'
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх