6-1 XSS的原理分析与解剖
一、XSS的原理和特性
什么是XSS?
XSS我个人的理解是HTML代码注入。注入攻击的本质,是把用户输入的数据当做代码执行。SQL注入拼接的是操作数据库的SQL语句。XSS拼接的是网页的HTML代码,一般而言我们是可以拼接出合适的HTML代码去执行恶意的JS语句
xss能做什么:
盗取Cookie(用的最频繁的)
获取内网ip
获取浏览器保存的明文密码
截取网页屏幕
网页上的键盘记录
XSS平台:
xsspt.com
xss9.com
xs.sb
(XSS平台大大方便了XSS攻击,只需要引入一个平台外部链接就可以了实现功能了)
xss类型:
反射型XSS (你提交的数据成功的实现了XSS,但是仅仅是对你这次访问产生了影响,是非持久型攻击)
存储型XSS (你提交的数据成功的实现了XSS,存入了数据库,别人访问这个页面的时候就会自动触发)
DOM型XSS
三种触发方法:
标签触发:<script>alert(666666)</script>
弹窗是用来证明是否存在xss,就是直接打攻击代码窃取Cookie
伪协议:需要点击触发 <a href="Javascript:alert(6543785)">abc
事件触发:满足某种条件自动触发 <img src="#" onerror=alert(1158)//>
上述可以在http://59.63.200.79:8004/FeedbackView.asp中留言板块试验
XSS平台配置窃取Cookie
注册登录xs.sb,创建项目
复制生成极限代码到http://59.63.200.79:8002/d/index.asp?T=reg 的用户昵称,完成注册
在xs.sb中就可以看到吃到cookie
二、反射性XSS靶场演示
http://59.63.200.79:8002/xss/index.php
\' oninput=alert(1)//
\' onfocus=alert(1) autofocus//
使用单引号而不是双引号原因,查看靶场源码
如果php代码中value=后面没有单双引号
搜索框中既可以用单引号也可以用双引号
如果value=后面用htmlspecialchars包裹,输入双引号会被转移,只能用单引号闭合
如果加入ENT_QUOTES参数,单双引号都不能闭合
- 点赞
- 收藏
- 关注作者
评论(0)