资讯详情

文件上传

上传验证文件

前端校验(js校验)

服务器将代码发送到客户端,浏览器进行验证。

服务器端校验

content-type类型分别

文件后缀 黑 白名单

1. 绕过前台脚本检测扩展名上传WebShell

进入浏览器about:config模式

关闭javascript.enabled关闭浏览器的选项js绕过功能。

或抓取回包修改jsp绕过代码

还可以

![]()

![]()

![]()

![]()

![]()我们把phpshell.php后缀改为phpshell.png

![]()

然后上传,burp拦截数据包,修改拦截数据。

![]() 上传成功

2. 绕过Content-Type上传检测文件类型WebShell

抓包修改Content-Type文件类型绕过服务器端Content-Type的检测

原格式

![]() 修改后

![]()

几个常见的Content-Type:

text/html :HTML格式

text/plain :纯文本格式

text/xml :XML格式

image/gif :gif图片格式

image/jpeg :jpg图片格式

image/png :png图片格式

application/xml : XML数据格式

application/json : JSON数据格式

application/pdf : pdf格式

application/msword : Word文档格式

application/octet-stream : 二进制流数据(如文件下载)

application/x-www-form-urlencoded : <form encType="">中默认的encType,

form表单数据被编码为key/value格式发送到服务器(默认数据提交格式)。 服务器收到raw body会是,name=aaa&key=bbb。

multipart/form-data : 上传文件

3. 上传00截断WebShell

00截断是指程序员在编写程序时不严格过滤文件的上传路径,产生0x00上传截断漏洞。

假设文件的上传路径是 [ http://xx.xx.xx .xx/upfiles/lubr .php.jpg ] , 通过抓包截断将 [lubr.php] 后面的 [.] 换成 [0x00] 。上传时,当文件系统读取时 [0x00] 当时会认为文件已经结束,所以会 [ lubr.php.jpg ] 内容写入[lubr.php]从而达到攻击的目的。

4. 绕过服务器端扩展名检测上传

将文件扩展名改为.php1,apache仍能正常分析php实现挂马

!因为apache蚁剑的特性也可以分析.php3

![]()####)#### 5. 构造图片马绕过文件内容检测上传WebShell

主要内容:GIF89a图片头文件欺骗

![]()####)#### 6. 利用.htaccess攻击上传文件Shell

.htaccess文件是Apache负责相关目录下网页配置的服务器配置文件.通过htaccess文件可实现:网页301重定向、自定义404页、更改文件扩展名、允许/阻止访问特定用户或目录、禁止目录列表、配置默认文档等功能。

1.创建htaccess编辑内容为:

SetHandler application/x-httpd-php

他的意思是将目录下的所有文件分析为php文件来执行

2.只有指定文件名的文件才能被视为PHP分析,内容为

<FilesMatch "jpg">

SetHandler application/x-httpd-php

</FilesMatch>

匹配目录jpg文件解析为php执行

一般黑名单验证上传成功的概率比较大,白名单什么的都没用。先上传这样的后缀htaccess上传一个文件.jpg这样,即使上传的句子后缀为jpg还能连接一句话。

标签: lubr射频电容液位计

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台