一、xss 跨站脚本攻击(Cross Site Script Attack)
1.1 xss介绍
跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击!
1.2 xss漏洞
1.2.1 漏洞的位置
数据交互与输出的地方
1.2.2 产生条件
漏洞产生的两个条件:
1.用户可以控制的输入点。
2.输入能返回到前端的页面上被浏览器当成脚本语言解析执行。
1.2.3 漏洞的危害
整体来说危害有:获取用户cookie、键盘记录、xss gets hell、刷流量,执行弹窗广告、传播蠕虫病毒。
细说危害:
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件(钓鱼)
6、网站挂马:会自动下载
7、控制受害者机器(肉鸡)向其它网站发起攻击
1.2.3.1 Cookie是什么
COOKIE:指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)
客户端将用户名密码等信息给服务器,服务器返回用户身份对应的cookie给客户端,
之后两人的身份认定,就靠cookie来进行。
1.3 xss的分类
1.反射性xss:它是非持久型,参数型的跨站脚本。
2.存储型xss:它是将脚本代码写进数据库可以永久保存数据,危害最大。
3.DOM型xss:与反射性相似,但是DOM是树形结构,利用DOM标签。
二、xss靶机训练绕过
第一关:语句插入
代码
由上图代码中我们发现它并没有对我们进行限制,同时我们将输入值在h2标签中。
所有直接使用<script>alert(1)</script>
语句即可。
上图代码可以发现text后面接keword=“内容”
在url地址上输入?keword="<script>alert(1)</script>
第二关:闭合标签
代码
方法一:使用<script>alert(1) </script>
代码中我们发现输入的内容在value属性的双引号里面了,为此我们需要闭合引号再把标签也补全了。进行弹窗。
在输入框中输入
1" /> <script>alert(1) </script>
方法二
使用οnclick=“alert(1