反射型
反射型
介绍
-
反射型跨站脚本(Reflected Cross-Site Scripting)是最常见,也是使用最广的一种,可将恶意脚本附加到 URL 地址的参数中
反射型 XSS 的利用一般是攻击者通过特定手法(如电子邮件),诱使用户去访问一个包含恶意代码的 URL,当受害者点击这些专门设计的链接的时候,恶意代码会直接在受害者主机上的浏览器执行。此类 XSS 通常出现在网站的搜索栏、用户登录口等地方,常用来窃取客户端 Cookies 或进行钓鱼欺骗。
-
这就是反射型 XSS 的本质: 你把恶意代码(
<script>...)作为参数发给服务器,服务器没有存进数据库,而是像反射光线一样,原样把它塞进 HTML 页面里返回给了浏览器。想象一下,你拿着一面镜子(服务器)。
- 你对着镜子大喊一声:“笨蛋! ”(输入 Payload)
- 镜子立马把你的影像反射回来,你也看到嘴型在说:“笨蛋! ”(输出 Payload)
输入点: 既然是反射,输入通常就在 URL 里(比如
?message=...)。非持久化: 因为没进数据库,这行代码是“一次性”的。你如果不通过这个特定的 URL 访问,页面就是正常的。
-
你可能会问:“既然这代码是我自己输进去弹我自己的,那有什么危害呢?我有病吗?”
关键在于:黑客不会自己点,黑客会把这个“带毒的链接”发给受害者。
让我们还原一下真实的攻击剧本:
-
第一步(制作毒药): 黑客发现 Pikachu 的搜索框有漏洞。他构造了一个精心设计的 URL:
http://pikachu.com/xss.php?message=<script>偷走你的cookie发给黑客</script> -
第二步(伪装投喂): 黑客把这个长长的链接通过“短链接生成器”缩短,或者伪装成一个诱人的标题:
“兄弟,快看!刚刚那个 NBA 球员的数据太炸裂了!点击查看:
http://t.cn/Rx8s9d” -
第三步(借刀杀人): 毫无防备的受害者(用户)点击了这个链接。
-
第四步(中毒):
- 受害者的浏览器带着
<script>...向 Pikachu 服务器发起请求。 - Pikachu 服务器(那个“镜子”)傻傻地把这段代码拼接到网页里,返回给受害者。
- 受害者的浏览器看到这段
<script>,以为是网站自带的功能,于是执行了代码。 - 结果: 受害者的 Cookie 被悄悄发送到了黑客的服务器上,或者弹出了广告,或者被钓鱼。
- 受害者的浏览器带着
-
实战
在皮卡丘靶场里
在输入框中输入kobe,就会有回显

此时打开f12,搜索kobe

观察它周围的环境: 它是不是赤裸裸地夹在标签中间?像这样。说明服务器没有任何的过滤和阻挡我们的输入内容。那我们就可以写一些js代码进去了。
在输入框中输入<script>alert('xss')</script>。如果输入框输入不了这么长的字符串可以直接在url上面修改
把这里的kobe改为上面的js代码就可以。
回车发现有弹窗出现,就说明有漏洞了。接着就可以修改具体的js代码了。
<script>alert('xss')</script>
这个是javascript的语言,alert的意思就是在前端弹窗出现括号内的内容。

浙公网安备 33010602011771号