找回密码
 立即注册
首页 业界区 安全 文件上传的一些基础绕过

文件上传的一些基础绕过

段干叶农 2025-6-16 19:31:42
1.绕过客户端
禁用js代码即可
点击查看代码
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>不安全的文件上传</title>
  5. </head>
  6. <body>
  7.     <h2>上传你的头像(仅限图片)</h2>
  8.    
  9.     <form id="uploadForm" onsubmit="return validateFile()">
  10.         <input type="file" id="fileInput" accept=".jpg,.png">
  11.         <button type="submit">上传</button>
  12.     </form>
  13.    
  14. </body>
  15. </html>
复制代码
先传后修改。2.绕过服务端1)MIME服务端代码[点击查看代码
  1. [/code]抓包,修改Content-Type。
  2. 2)文件后缀绕过
  3. [indent]后缀大小写绕过(Php)
  4. 空格绕过(php )
  5. 点绕过(php.)
  6. ::$DATA绕过(php::$DATA)
  7. .htaccess绕过
  8. 原理:当前目及其子目录httpd-conf 是 Apache 的系统配置文件,一个全局的配置文件,对整个 web 服务起作用;而.htaccess 也是 Apache 的配置文件,不过相当于一个局部配置文件,只对该文件所在目录下的文件起作用,改变当前目录以及子目录的apache配置信息
  9. 写入:
  10. [/indent]点击查看代码[code]AddType application/x-httpd-php .gif
复制代码
.gif为后缀的文件都可被解析为php或者点击查看代码
  1. <FilesMatch "xxx.png">
  2. SetHandler application/x-httpd-php
  3. </FilesMatch>
复制代码
xxx.png可被当作php脚本解析
.user.ini
.user,它会影响php.ini中的配置,从而将指定的文件内容按php来解析,影响的范围该文件所在的目录以及子目录。需要等待php.ini中的user_ini.cache_ttl设置的时间或重启Apache才能生效,且只在php5.3.0之后的版本才生效。.user.ini比.hta用的更广,不管是nginx/Apache/IIS,只要是以fastcgi运行的php都可以用这个办法。如果使用Apache,则用.htaccess文件有同样的效果。
注意:.htaccess只能用于Apache。
传入
点击查看代码
  1. auto_prepend_file = xxx.jpg
复制代码
再传入点击查看代码[code][/code]如果在上传目录中还有一个可执行的php文件,访问php文件,就达到了执行系统命令的效果。以上都为黑名单,下面来讲白名单。白名单就是文件后缀不在白名单中即为违法。>%00截断;0X00截断这两个其实被解析之后都是一个东西:chr(0);服务端判断文件类型是从后往前判断,而对文件解析是从前往后解析;对照ASCll表可知0对应的是NULL,而当一个字符串中存在空字符的时候,在被解析的时候会导致空字符后面的字符被丢弃。点击查看代码[code]
您需要登录后才可以回帖 登录 | 立即注册