• 欢迎访问行云博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入行云博客 QQ群
  • 本站广招各类优秀作者,详情可以加群联系
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏行云博客吧

浅谈xss——跨站脚本攻击(二)

web渗透 行云 9个月前 (03-22) 378次浏览 已收录 0个评论 扫描二维码

接着上文讲:浅谈xss——跨站脚本攻击(一)

这次谈谈存储型XSS

和反射性XSS的即时响应相比,存储型XSS则需要先把利用代码保存在比如数据库或文件中,当web程序读取利用代码时再输出在页面上执行利用代码。但存储型XSS不用考虑绕过浏览器的过滤问题,屏蔽性也要好很多。

存储型XSS攻击流程:
浅谈xss——跨站脚本攻击(二)-行云博客

存储型XSS的白盒审计同样要寻找未过滤的输入点和未过滤的输出函数。

新建XssStorage.php文件,并加入以下代码

1
2
3
4
5
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
<span style="font-size:18px;">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>  
<html>  
<head>  
<title>XssStorage</title>  
</head>  
<body>  
<h2>Message Board<h2>  
 <br>
<form action="XssStorage.php" method="post">  
 Message:<textarea id='Mid' name="desc"></textarea>  
<br>  
<br>  
Subuser:<input type="text" name="user"/><br>
<br>
<input type="submit" value="submit" onclick='loction="XssStorage.php"'/>  
 </form>  
 <?php  
 if(isset($_POST['user'])&&isset($_POST['desc'])){  
 $log=fopen("sql.txt","a");  
 fwrite($log,$_POST['user']."\r\n");  
 fwrite($log,$_POST['desc']."\r\n");  
fclose($log);  
}  
     
if(file_exists("sql.txt"))  
{
$read= fopen("sql.txt",'r');  
while(!feof($read))  
{  
echo fgets($read)."</br>";  
}  
fclose($read);  
}  
?>  
</body>  
</html>
</span>

页面功能简述:

这个页面采用POST提交数据,生成、读取文本模拟数据库,提交数据之后页面会将数据写入sql.txt,再打开页面时会读取sql.txt中内容并显示在网页上,实现了存储型xss攻击模拟。

打开页面,随意输入内容:

浅谈xss——跨站脚本攻击(二)-行云博客

可以看到页面正常显示页面留言信息。当我们在Message中输入

1
<script>alert('xss')</script>

时,页面成功弹窗 :

浅谈xss——跨站脚本攻击(二)-行云博客

并且我们重启浏览器之后再加载该页面,页面依然会弹窗,这是因为恶意代码已经写入数据库中,每当有人访问该页面时,恶意代码就会被加载执行!

浅谈xss——跨站脚本攻击(二)-行云博客


浅谈xss——跨站脚本攻击(二)-行云博客

这就是所谓的存储型XSS漏洞,一次提交之后,每当有用户访问这个页面都会受到XSS攻击,危害巨大。

存储型XSS的执行位置通常不同于输入位置。我们可以看出,存储行XSS的数据流向是:

浏览器 -> 后端 -> 数据库 -> 后端 -> 浏览器


行云博客 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我(admin@xy586.top)联系处理。敬请谅解!

喜欢 (0)
[行云博客]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址