记一次TXT的存储型XSS奇葩案例

admin 2024年6月6日22:56:28评论7 views字数 850阅读2分50秒阅读模式
记一次TXT的存储型XSS奇葩案例

TXT的存储型XSS!对你没看错!不要怀疑!就是你想的那样!

你听过没?见过没?总之我是闻所未闻,这种奇葩案例竟然被我碰上了,属实是给我开眼了。

01
1.1
瞎逛

有注册功能,那就注册成为尊贵的用户吧。

记一次TXT的存储型XSS奇葩案例

有短信验证码的功能看看有没有漏洞(关于短信验证码的漏洞挖掘技巧详情查看历史文章【技术分享】短信和邮箱验证码的漏洞挖掘技巧

记一次TXT的存储型XSS奇葩案例

好的,没有,您的站点非常安全

 

1.2
乱逛

进入个人中心发现用户的头像处可以上传文件。

记一次TXT的存储型XSS奇葩案例

 

先上传一个正常图片看看数据包。

发现上传头像后站点会有两步操作:第一步对上传的文件进行检验是否为合规文件,第二步对图片进行裁剪,最后把裁剪后的图片设置为头像。

记一次TXT的存储型XSS奇葩案例

在设置头像的数据包中发现图片信息的上半段为二次渲染的标记,下半段为图片信息。

记一次TXT的存储型XSS奇葩案例

 

知道了逻辑那就直接在第二步中修改文件信息吧。

02
2.1
乱测

通过插件知道这是一个php的站。

记一次TXT的存储型XSS奇葩案例

 

上传一个纯代码文件,在第一步中就失败并返回只能上传jpg、jpeg和png格式的文件的提示,难道是对文件头有限制?

记一次TXT的存储型XSS奇葩案例

 

上传一个正常的图片。通过第一步的检验后,进入第二步裁剪完成后拦截上传头像的数据包,转发到repeater模块把图片名字cropper.jpg改为cropper.php,在图片信息末尾加上恶意代码然后放包。

返回的还是只能上传jpg、jpeg和png格式的文件。

记一次TXT的存储型XSS奇葩案例

 

2.2
揣测

把文件信息改成123456看看效果什么样。

记一次TXT的存储型XSS奇葩案例

能显示啊这是为什么?

记一次TXT的存储型XSS奇葩案例

把文件末尾信息改成123456<?php @eval($_POST['1']);?>123456。访问后只保留了两个123456,中间的代码被删除了。头回遇到这种情况啊。

03
长见识
3.1
开眼

虽然php没法利用了,但是至少还有html。可以弄一个存储XSS保底也还行,传上去访问文件竟然不显示。

记一次TXT的存储型XSS奇葩案例

 

G,啥都没有。闲的无聊把文件后缀改成txt重新发包。

记一次TXT的存储型XSS奇葩案例

访问目标文件,属实给我开眼了。非预期文件上传TXT导致存储型XSS!闻所未闻,想都不敢想的事啊!

记一次TXT的存储型XSS奇葩案例

原文始发于微信公众号(我吃饼干):【技术分享】记一次TXT的存储型XSS奇葩案例

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月6日22:56:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次TXT的存储型XSS奇葩案例https://cn-sec.com/archives/2822359.html

发表评论

匿名网友 填写信息