这两关的题目都是XSS。
先百度下XSS,解释如下:
名字由来:全称是Cross Site Script(跨站脚本),为了和层叠样式表CSS区分,所以称为XSS。
概念:通过HTML注入篡改了网页,插入了恶意脚本,从而在用户在浏览网页时,实现控制用户浏览器行为的一种攻击方式。可以利用XSS盗取用户的cookie,使用用户的cookie以用户的身份访问站点(有点像是CRSF)。XSS属于客户端代码注入,通常注入的代码是JavaScript。区别于命令注入,SQL注入属于服务端代码注入。
攻击条件:1.需要向Web页面注入恶意代码(地址栏中)
2.这些代码能够被浏览器成功执行
也就是说,你得会写这些恶意脚本,之后浏览器的版本能够识别并且运行这些脚本。
XSS分类:1.XSS反射性攻击,恶意代码并没有保存在目标站点,通过引诱用户点击一个连接到目标网站的恶意连接来实施攻击的。
2.XSS存储型攻击,恶意代码被保存到目标网站的服务器中,这种攻击具有比较强的稳定性和持久性,比较常见场景是在博客,论坛等社交网站上,但OA系统,和CRM系统上也能看到它身影,比如:某CRM系统的客户投诉功能上存在XSS存储型漏洞,攻击者提交了恶意攻击代码,当系统管理员查看投诉信息时就触发了恶意代码,窃取了客户的资料,但是管理员却不知情。
参考自:https://blog.csdn.net/extremebingo/article/details/81176394
https://www.cnblogs.com/shawWey/p/8480452.html
在第13题中,是一个反射型的XSS漏洞。
一开始在查看f12的页面源码的时候,并没有发现什么,只有进去的666,无限的点进去也是666:
百度了一下,可以通过修改url直接进行注入(即直接在地址上进行脚本的写入):
在id后面修改666为<script>alert(/xss/)</script>,注入这个脚本之后就会弹出xss,应该就是这个题目的意思了(通过这个命令可以弹出alert后面括号的字符):
第14题:很明显的说出了储存型xss。
点击进去可以直接看到一个买书的页面:
f12中看到源码:
当然在搜索栏里输入脚本也可以看到这个。
对于漏洞,可以通过过滤一下特殊的脚本字符来解决,就像这个脚本语言,是以' < '符号开始的,还有一些 % ' 等等....