XSS攻击和SQL注入都是web安全中很常见的攻击方式,最近先学习XSS攻击,待到XSS学完后再去学习SQL注入,哇(感慨一番),这些知识真的太有趣了。
在开始之前,有必要了解一下概念
1、XSS跨站脚本攻击定义
跨站脚本攻击是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者访问者进行病毒侵害的一种攻击方式。为了与层叠样式表的缩写CSS区分开,跨站脚本攻击通常简写为XSS。
2、XSS类型
1)反射型XSS
反射型XSS只是简单地将用户输入的数据直接或未经完善的安全过滤就在浏览器中进行输出,导致输出的数据中存在可被浏览器执行的代码数据。由于此种类型的跨站代码存在于URL中,所以黑客通常需要通过诱骗或加密变形等方式将存在恶意代码的链接发给用户,只有用户点击以后才能使得攻击成功实施。
2)存储型XSS
存储型XSS脚本攻击是指由于Web应用程序对用户输入数据的不严格,导致Web应用程序将黑客输入的恶意跨站攻击数据信息保存在服务端的数据库或其他文件形式中,当网页进行数据查询展示时,会从数据库中获取数据内容,并将数据内容在网页中进行输出展示,进而导致跨站脚本代码的执行。
3)DOM Based XSS
基于DOM的XSS跨站脚本攻击是通过修改页面。DOM节点数据信息而形成的XSS跨站脚本攻击。不同于反射型XSS和存储型XSS,基于DOM的XSS跨站脚本攻击往往需要针对具体的Javascript DOM代码进行分析,并根据实际情况进行XSS跨站脚本攻击的利用。
3、XSS攻击
1.XSS盗取用户信息
2.XSS盗取Cookie
3.XSS钓鱼攻击
4.XSS蠕虫攻击
了解完这些概念之后,就来实战。
一、在DVWA漏洞靶场练习
一、反射型XSS
进行DVWA环境中,选择安全等级,这里就按照从低到高的顺序进行。
选择XSS(Reflected),查看一下源代码。