当前位置:首页 > 前端 > 正文

Web安全技术实验3

反射型XSS(get):

?

?

不会进行过滤。

?

前端对输入长度做了限制,我们需要修改一下才能输入完整的payload。

?

我们输入的payload嵌入了到了 p 标签里面,被浏览器正确执行了

?

反射型XSS(post):

?

参数内容不会出现在URL中

存储型xss:

不会进行过滤

输入<script>alert("xss")</script>

DOM型XSS:

?

?

查看源码

观察了闭合的方式,使用payload

‘><img src="#" onmouseover="alert(‘xss‘)">

?

????它的输入是从浏览器的URL中获取的

XSS之盲打:

输入JS代码

打开后台

?

?

<script>>alert(111)

对<script>进行了过滤,尝试一下大小写混合

<SCRIPT>alert(111)</sCRIpt>

?

XSS之htmlspecialchars:

?

?

输入 ‘‘"?<>666

可以看到 " " "," > "和" < "都经过了编码,剩下的字符没有,单引号依然可以使用

?

构造‘ onclick=alert(1111) ‘

XSS之href输出:

看代码可知如果输入的不是百度会转义输入的单引号、双引号和左右尖括号

然后输出到 a 标签的 href 属性中,在 a 标签的href属性中,可以用不包含符号的js代码 。如javascript:alert(111)

?

?

XSS之js输出:

查看源码

可以看到?它把输入放到JS中,可以构造一个闭合,先用一个单引号和</script>闭合掉页面中的<script>,然后再插入自己的JS代码

如‘</script><script>alert(‘xss‘)</script>