文章目录
- 反射型xss(get)
- 反射型xss(post)
- 存储型xss
- DOM型xss
- DOM型xss-x
- xss-盲打
- xss-过滤
- xss之htmlspecialchars
- xss之href输出
- xss之js输出
反射型xss(get)
<script>alert("123")</script>
修改maxlength的值
反射型xss(post)
账号admin
密码123456
直接登录
<script>alert('xss')</script>
存储型xss
在留言板里直接<script>alert('xss')</script>
出现xss
的弹框后,点击确定,发现有个删除,说明确实是存到数据库里了
查看数据库又没有这一条数据
再次在留言板里输入js代码<script>alert('zs6666')</script>
再次查看数据库
这就是存储型
与反射型
永久性和一次性的区别,会永久的存储在数据库中。
DOM型xss
在javascript
语言中分两种BOM
和DOM
BOM:浏览器对象模型 Brower Object Model
js代码操作浏览器
DOM:文档对象模型 Document Object Model
js代码操作标签
查看网页源代码,ctrl+f
查找what do you see?
的位置
发现源码中已经给出了xss
代码
输入框中的内容就是标注的str
,我们可以在这里构造一个闭合,实现弹窗
<a href='"+str+"'>what do you see?</a>
在输入框中输入' onclick="alert('xss')">
,点击click me
,出现what do you see?
点击
DOM型xss-x
输入框里输入1
,发现url发生了变化
这次是从url中获取我们输入的text参数的,这就类似反射型,构造闭合即可。' onclick="alert('xss')">
xss-盲打
将留言保存至后台 当管理员登录查看留言时就会触发
在页面中两个输入框中都输入<script>alert("123")</script>
,提交后没有反应
查看数据库:
也可以点一下提示,让去后台看看
http://127.0.0.1/pikachu/vul/xss/xssblind/admin.php
发现登录后台,就会弹框
xss-过滤
不知道过滤了什么 双写,提交后没反应
<sc<script>ript>alert("123")</script>
换成大写后成功
<SCRIPT>alert('xss')</SCRIPT>
xss之htmlspecialchars
specialchars
函数就是把单引号,双引号,尖括号过滤了,但是这个函数默认是不过滤单引号的
javascript:alert(1)
xss之href输出
href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。如果用户选择了
<a>
标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表。
javascript:alert(document.cookie)
javascript:alert(1)
xss之js输出
先输入tmac
可以提前闭合</script>
</script><script>alert(1)</script>
也可以' ; alert(1); //
页面接受到的就是$ms=''; alert(1);//'
第一步: $ms=‘’’
第二步: $ms=‘’;’ 加分号,表示语句结束
第三步: $ms=‘’; alert(1);’ 弹框
第四步: $ms=‘’; alert(1); //’ 把//后面的那对引号 注释掉