赞
踩
目录
XSS(CSS):全称叫“跨站脚本(js)攻击”。指攻击者在网站页面注入恶意脚本,使其在用户浏览页面时执行。
XSS危害:1.盗取cookie(用户的身份认证)2.非法转账 3.钓鱼等
XSS分类:
反射型:插入的恶意js代码没有放在数据库中
存储型:插入的恶意js代码存放在数据库中
1.先输入一般变量,F12侦查找变量(可控的)或者burp抓包找变量
2.敌情分析,变量周围的环境,弹窗的符号是否被过滤,弹窗关键词
3.分析敌情构造poc(js)
第一关是最简单的,我们就开始侦查,随便输入个变量,这边输入pptx再点击Search,可以看到
我们再按F12查看网页源代码,可以看到pptx值是被<b>标签包含
这个标签对该值没有什么限制和影响,因此我们之间注入js代码,即可攻击成功
<script>alert(document.domain);</script>
我们还是按照XSS的打靶思路来,输入pptx,再F12看值周围的环境
我们可以看到该值,在value中被引号包含,那我们再试试第一关的js代码
我们把两次结果拿出来比较下
<input type="text" value="pptx" size="50" name="p1">
<input type="text" value="<script>alert(document.domain);</script>" size="50" name="p1">
我们输入的js代码已经被引号包含,就是value的值了,我们是要将js代码执行,所以我们要构造闭合
<input type="text" value=""><script>alert(document.domain);</script>"> size="50" name="p1">
我们需要输入的部分为
"><script>alert(document.domain);</script>">
然后可攻击成功
也是先输入pptx,再f12查看
可以看到值也是b标签包裹,我们再试试,
js代码:
<script>alert(document.domain);</script>
看下有没有打靶思路中提到的符号过滤,然后发现也是没有变化原样输出
这会联系到一个防御函数:htmlspcialchars()
这函数的意思是把预定义的字符转换为HTML实体:其中预定义字符包括:
&,",',<,>。所以这种打法行不通。我们只能另寻方向,然后我们看到除了第一个输入框还有第二下拉框,但下拉框做不了任何修改,这时我们就要用到burpsuit进行抓包,我们打开抓包拦截,输入pptx,右侧可看到拦截的信息。
这时我们就可以对p2进行修改为Stage#1的js代码
然后我们点击Forward放行,即可攻击成功
步骤和第三关一样,先输入一般变量,f12看周围环境
可以看出pptx是<b>标签围起的,同时可以发现比上一关多了一个隐藏的p3
再看看有没有符号被过滤,可以发现<还是被过滤了
我们再进行抓包
我们再把<script>alert(document.domain);</script>放入p3看有没有什么变化
可以查看到,闭合方式为双引号
所以做出和第二关一样的调整:
"><script>alert(document.domain);</script>
在放行,即攻击成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。