- XSS基本概念和原理说明
XSS的基本概念
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。xss是一种发生在web前端的漏洞,所以其危害的对象也主要是前端用户
在WEB2.0时代,强调的是互动,使得用户输入信息的机会大增,在这个情况下,我们作为开发者,在开发的时候,要提高警惕。
xss漏洞可以用来进行钓鱼攻击,前端js挖矿,用户cookie获取。甚至可以结合浏览器自身的漏洞对用户主机进行远程控制
XSS原理说明
XSS攻击方法只是利用HTML的属性,作各种的尝试,找出注入的方法。现在对三种主要方式进行分析。
1.第一种:对普通的用户输入,页面原样输出,用户通过对JSCODE的伪装,经过一些操作就会跳出一个木马界面,取得登录用户的Cookie.
2.第二种:在代码区里有用户输入的内容
原则就是,代码区中,绝对不应含有用户输入的东西。
3.第三种:允许用户输入HTML标签的页面。
用户可以提交一些自定义的HTML代码,这种情况是最危险的。因为,IE浏览器默认采用的是UNICODE编码,HTML编码可以用&#ASCII方式来写,又可以使用”/”连接16进制字符串来写,使得过滤变得异常复杂
- 反射型、储存型、DOM型实战
反射型XSS(get型不持久型XSS)
交互的数据一般不会被存在在数据库里面,只是简单的把用户输入的数据反射给浏览器,一次性,所见即所得。
<?php
$name = $_GET['name'];
echo "Welcome $name<br>";
?>
中危漏洞
储存型XSS 或持久型 XSS
交互的数据会被存在在数据库里面,永久性存储,具有很强的稳定性。
除非管理员删除
高危漏洞
DOM XSS
不与后台服务器产生数据交互,通过前端的dom节点形成的XSS漏洞,跟服务器无关。一般无法产生危害链接,很难被利用(低微漏洞)
什么是DOM:DOM全称是Document Object
Model,也就是文档对象模型。我们可以将DOM理解为,一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态地访问和修改文档内容、结构和样式。
当创建好一个页面并加载到浏览器时,DOM就悄然而生,它会把网页文档转换为一个文档对象,主要功能是处理网页内容。故可以使用Javascript 语言来操作DOM以达到网页的目的。
- XSS钓鱼
xss钓鱼测试
这里我们进入存储型xss实验
我们发现方框,进行注入js代码,输入
进行代码审计可知
我们发现代码出现了发送认证框,并将信息传送到后台
提交后出现登录框,输入默认密码
进行登录后,就那个入后台查看钓鱼结果
- XSS平台搭建及Cookie获取
开启PHPstudy
在浏览器上输入127.0.0.1/XXS 进入蓝莲花注册页面
只需要修改登录密码进行提交。
然后进入登录页面。
下次进入蓝莲花应该是:http:IP/XXS/login.php
dvaw也同样放在PHPstudy的WWW目录下
然后修改文件配置
WWW\DVWA\config
将文件类型修改为php
然后输入127.0.0.1/dvwa 进行登录