行业新闻

实战 | 记一次几乎不可能成功的文件上传利用

实战 | 记一次几乎不可能成功的文件上传利用

直接跳过弱口令来到文件上传阶段,情况是这个样子的,上传文件的地方,浏览点不开,还只能用谷歌浏览器才能登录,猜测是开发删除了 JS 上传的功能(只是猜测)

测试思路

当时又不想放弃这个上传点,只能强行分析一下相关的 JS 和 HTML 代码。尝试修改参数让上传功能正常使用。 点击上传,定位 HTML 源码

这种 iframe 看的难受直接访问上传的 aspx 文件

查看网页源码,有点复杂,删改了几个可能影响上传的参数,还是不能点击浏览,上传文件

先看一下普通的文件上传 HTML,为下面构造复杂的请求做铺垫

除了 type="file" 需要加一个 filename="XXX", 其他的都一一对应。不过参数还是太多了,还是先尝试一下抓包

还算运气,就算没有上传文件,也能正常抓包。应该是逻辑上的问题,正常来讲是先判断是否有上传文件然后保存,这里是先保存后判断: 

对比一下普通文件上传,少了重要一项 filename: 

回头去找上传的 html 源码,这里 name="Fdata1":

尝试直接加一行, 还是失败

这时留意了一下 源码里这个 Savefileupload.aspx 文件,死马当活马医: 

上传失败,后来想了想有可能是顺序的问题

文件上传成功,接下就是怎么访问了。过滤了ashx,没有过滤 asHx

后面就是怎么找访问路径了,花了很长时间才找到这级目录 /AccsessPath

还有就是二级路径: 

老实讲我是看到一个报错显示了相关信息(这里报错信息不太好放),直接查对应公司的源码才发现的路径。后来才发现 AccessPath/ClientAnnex,要不然确实有难度, 不过也有关联信息: 

总结

还是是实战经验比较少,如果在报错信息那边注意的话,能够快速确认目录的,在实战中能够节约不少时间。另外就是遇到可能的点千万不要放弃,除非你确认不存在,多尝试。细节还是很重要的。

关闭