通过文件上传引起的XSS

本文主要记录一些在工作中遇到的XSS攻击,而且是跟文件上传的XSS姿势

在若干的系统安全测试中,最近对xss方面比较关注,缘由可能是这期间的xss相对比较多吧。

一、批量导入设置-内容插入

正常情况下,我们通过页面截取请求,修改请求参数插入一些恶意的script【<script>alert("xss")</script>,具体的绕过方法就不详细描述了】,往往失败。

如果出现批量导入,我们可以控制文件中的值,替换为恶意语言脚本,通过批量导入的时候,或在导入的瞬间、异或是导入成功并读取到页面时会执行脚本,一个xss复现了。

二、批量导入设置-标题插入

大多数的情况下,批量导入会给我们一些导入的模板,模板文件中会有固定的表头;当然也有的模板可能不存在表头。我们正常在内容中插入恶意脚本也可能会被过滤掉。

换个思路,如果我们使用的模板和给定的模板不一致呢(绝大部分会失败,文件上传漏洞除外),且看上传会出现什么错误。

偶见间发现一个系统很详细的告诉了我导入文件的第N列和第N列的名称错误,这个时候考虑到导入时读取了文件的表头名称。新的思路诞生了,上传任意批量文件(不关心跟模板的差异有多大,只要存在表头就行了),在文件的表头中插入恶意脚本,继续上传。无疑问又报错了,但是却通过表头反射了xss漏洞。

 

 

ps:题外话,某些输入框过滤了script关键字,但是接受图片,使用图片的 onerror属性 或许可以触发xss漏洞。

 

posted @ 2020-12-17 15:30  阆南山水天下稀  阅读(803)  评论(0)    收藏  举报