xss跨站脚本攻击,是java script代码插入web页面中,之后当用户浏览页面,会执行嵌套在Wen页面里面的java script代码,从而达到攻击机用户的目的,
为了根HTML里面的层叠样式表[css,Cascading style sheets]作为区分,所以叫做XSS。
一:xss简介
注入攻击的本质,是把用户输入的数据当做代码执行。
条件:
用户能够控制值输入
原本要执行的代码,拼接了用户输入的数据。
二:xss漏洞原理
xss主要拼接的是什么?
xss拼接的是网页的HTML代码,一般而言拼接合适的HTML代码去执行恶意的JS语句。
xss就是拼接恶意的HTML代码,代码并能成功解析。
xss的危害:
盗取Cookie[使用最频繁]
获取内网IP
获取浏览器保存的明文密码
截取网页屏幕
网页上的键盘记录
xss的种类:
反射型xss:提交的数据成功实现xss,仅仅对本地访问产生影响,是非持久型攻击。
存储型xss:提交的数据成功实现xss,存入数据库,每次访问就会自动触发,持久性。
Dom型xss:Dom[文档对象模型],客户端脚本处理逻辑导致的安全问题。
xss平台:
方便xss攻击,只需要引入一个平台外部链接就可以实现各种功能。
推荐:
https://xsspt.com/index.php?do=login
常见的xss测试点:
手工:根据网页源代码中反馈的信息,构建payload,见框就插。
工具:safe3、Awvs、Burpsuite、xsssniper浏览器插件,cookie修改工具。
思路:个人信息、李璐蓝旗、评论等,注意观察url变化,也可能出现其他漏洞,如:逻辑漏洞。
注意:漏洞=手工+工具+思路+勤奋的双手。
三:xss的挑战实例
360插件:xss插件扫描0kee.360.cn/ee/
360浏览器:https://browser.360.cn/ee/
更多工具:https://github.com/rajeshmajumdar/BruteXSS
四:浏览器攻击框架beer-xss
1.beef-xss简介:
beef:beef:一款浏览器攻击框架,用Runy语言开发的,kali中默认安装的一个模块,用户实现对xss漏洞的攻击和利用。
beef主要是往网页中插入一段名为hook.js的JS脚本代码,如果浏览器访问了有hook.js(钩子)的页面,就会被hook(勾住),
勾连的浏览器会执行初始代码返回一些信息,接着目标主机会每隔一段时间(默认为1秒)就会向beef服务器发送一个请求,
询问是否有新的代码需要执行。beef服务器本质上就像一个Web应用,被分为前端和后端。前端会轮询后端是否有新的数据需要更新,
同时前端也可以向后端发送指示, beef持有者可以通过浏览器来登录 beef 的后端,来控制前端(用户的浏览器)。beef一般和XSS漏洞结合使用
2.beef-xss配置:
修改默认密码:vim /etc/beef-xss/config.yaml
测试界面:http://127.0.0.1:3000/demos/butcher/index.html
3.beef-xss模块:
每个命令模块都一个交通灯图标,用于指示一下内容:
绿色:命令模块对目标器作用,对用户应该是不可见的。
橙色:命令模块对目标器作用,对用户是可见的。
灰色:尚未针对此目标验证命令模块。
红色:命令模块不适用于此目标。
4.使用教程:https://www.fujieace.com/kali-linux/courses/beef-xss-framework.html
补充:
如果kali中未存在,beef-xss,可以使用此命令下载:git clone https://github.com/beefproject/beef.git