渗透测试基础之XSS

1、XSS简介

跨站脚本(cross site script)为了避免和样式混淆,所以简称为xss。该漏洞是一种经常出现在web应用中的计算机漏洞,也是web中最主流的攻击方式。那么什么是xss呢?

xss是指恶意攻击者利用网站没有对用户提交的数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害

的一种攻击方式。

xss攻击的危害:

盗取各类用户账号,如及其登录账号、用户网银账号,各类管理员账号

控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

调取企业重要的具有商业价值的资料

非法转账

强制发送电子邮件

网站挂马

控制受害者机器香其他网站发起攻击

2、原理解析

反射型:又称为非持久型跨站点脚本攻击,是最常见的xss类型。漏洞产生原因是攻击者注入的数据反映在响应中。一个典型的非持久xss包含一个带xss攻击向量的链接(几每次攻击需要用户的点击)

存储型:又称为持久型跨站点脚本攻击,他一般发生在xss攻击向量(一般指xss攻击代码)存储在网站数据库,每当一个页面被用户打开的时候执行。每当用户打开浏览器,脚本执行。持久的xss相比非持久的xss攻击性更大,因为每当用户打开页面,查看内容是脚本将自动执行。

3、构造xss脚本

3.1、常用html标签

<frame> 创建包含另外一个文档的内联框架(即行内框架)

<textarea> 标签定义多行的文本输入控件

<img> 香页面中嵌入衣服图像

<script> 用于定义客户端脚本

3.2、常用js方法

alert 方法用于显示带有一条指定消息和一个确定按钮的警告框

window.location 对象用户获取当前页面的地址,兵法浏览器重新定向到新的页面

location.href 返回当前显示的文档的完整url

onload 一张页面或一副图像完成加载

onsubmit 确定按钮被点击

onerror 在加载文档或图像时发生错误

3.3、构造xss脚本

4、自动化xss

4.1、beef简介

它是目前最强大的浏览器开源渗透测试框架,通过xss漏洞配合js脚本和metasploit进行渗透;

4.2、使用实例

启动kali自带的beef工具

启动beef后查看后台显示信息,显示信息包括beef信息收集界面和相应的js注入漏洞脚本

登录靶机中的存储型界面,将beef相应的js脚本注入到输入框中后点击提交按钮

用本机或者其他机器访问存储型界面菜单,查看beef管理界面收集到的信息

猜你喜欢

转载自www.cnblogs.com/fanxiang/p/12583683.html