挖掘XSS漏洞
查找可控参数,输入标签,右键查看源代码,是否有输入的内容进行过滤。如存在过滤标签,尝试绕过过滤,没有就直接构成恶意代码。
反射型漏洞1
1.查找网页是否存在过滤,输入aaaa可以找到
2.输入aaaa"判断是否过滤双引号,发现没有过滤
3.输入aaaa'”判断是否过滤单引号,发现搜索不到,过滤了单引号(为什么查了"还要查',因为不知道是本来就自带"还是没过滤)
4.判断主页文件有没有过滤,发现没有过滤
5.通过判断,发现网站在参数有赋值的时候,有过滤,注入恶意代码,攻击成功
第2个漏洞
1.查看其它的输入框
2.发现有个账号密码的输入框,在这里网站参数中有URL,我们-试用了一下参数,然后发现无法闭合,这里就用不了,所有我们再查看下面的账号密码框
3.抓包并分析代码,我们发现了一个有可能可以利用的函数。通过chatgpt可以知道他的用处是:
`document.location.replace` 是 JavaScript 中的一个函数,可以用来改变浏览器当前的 URL 地址并且加载对应的页面。它的作用类似于用户手动在地址栏输入一个新的 URL 地址并回车。
例如,如果你想在页面中使用 `document.location.replace` 来跳转到另一个网址,你可以像下面这样使用:
```javascript
document.location.replace("https://www.example.com");
```
当浏览器执行这行代码时,它会导致当前页面被立即替换成 `https://www.example.com` 这个 URL 对应的页面。因此,使用 `document.location.replace` 可以让你通过 JavaScript 动态更改浏览器的 URL 地址。
4.我们发现这2个地方的URL相等,那么我们可以尝试这里的值,来检测能否控制这个信息
5.改变值了以后发现如图,这个值是可以被控制的
6.我们尝试使用alert去尝试闭合,发现这里还是有2个括号。那么我们想办法注释掉后面的)
7.这里发现了注入成功
8.然后通过BP在浏览器中发送响应,最后弹窗如下
弹出应该为这里的代码
翻译结果如下,但是这里的弹窗和我们注入的不一样,然后再返回到BP中进行查看哪里出现问题
9.重新抓包,然后改了参数之后,放过去
10.注入成功,第2个漏洞,利用代码Referer: http://www.xss01.com/bbs/login.php?url=http%3A%2F%2Fwww.xss01.com%2Fbbs%2Fqalist.php");alert('xss');//