| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> WEBshell与文件上传漏洞 -> 正文阅读 |
|
[PHP知识库]WEBshell与文件上传漏洞 |
目录 4.2 使用黑名单里面没有的后缀名:php1,php2,php3、php5、phtml、asp、aspx、ascx、 ashx、 cer、 asa、 jsp、 jspx 、cdx. 4.4? %00绕过,在许多语言函数中,处理字符串的函数中0x00被认为是终止符 一、文件上传漏洞的原理如果web应用程序对上传文件的安全性没有过滤和校验,攻击者可以通过上传webshell恶意文件对服务器进行攻击 。 二、文件上传的原理1.有文件上传功能 2.上传文件的目录能解析脚本文件 3.能访问到上传的文件 三、文件上传攻击文件上传防护和绕过手段 1.文件上传漏洞--绕过前端js检测由于网站客户端对文件的上传类型做了限制,不允许我们上传.php文件,我们可以通过bp抓取发送数据包,然后将数据包做改变即可 上传发现前端js有过滤,可以选择修改上传数据包上传脚本文件。 首先我们将写有一句话木马的文件后缀改为.png格式 ? 查看能不能连接到该文件,使用cknife ?2.文件上传-绕过MIME类型检测多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。标准的文件上传组件中会自动上传文件的MIME类型,但是由于MIME类型是从客户端传递的,修改也不影响文件正常运行,因此通过BURP拦截和修改MIME类型可以轻易绕过此类检测。 使用bp抓包,修改content-type类型:image/jpeg (该类型为服务器接收的类型)? 3.文件绕过-过滤不严格绕过网站的黑名单中会写将一些.php .jsp.asp.aspx等后缀名进行过滤,但是可能过滤不全,所以我们可以使用其他可执行的文件后缀到服务器上。 ?常用的一些可执行的文件脚本后缀: ? php , php2 , php3 , php5 , phtml ? asp , cer , asa , cdx ? aspx , ascx , ashx? jsp , jspx ?py 直接将文件名修改为33.phtml? 查看文件是否能连接 4.文件绕过-绕过黑名单检测4.1 使用大小写绕过将文件名改为PhP.? 4.2 使用黑名单里面没有的后缀名:php1,php2,php3、php5、phtml、asp、aspx、ascx、 ashx、 cer、 asa、 jsp、 jspx 、cdx.4.3 特别文件名绕过修改数据包里的文件名改为test. php.或者test. php (有空格)由于这种命名格式在windows系统里是不允许的。所以在绕过上传之后windows系统 会自动去掉 点和空格。Unix/Linux系统没有这个特性。 4.4? %00绕过,在许多语言函数中,处理字符串的函数中0x00被认为是终止符例如:xxx.php%00.txt,上传是txt是合法的,但是保存到文件里时会把%00当做终止符。只保存xxx.php. 首先上传文件名为xxx.php.png格式的文件,然后抓包。? 在hex模块下,修改值 ? 4.5 .htaccess文件攻击.htaccess函数:通过.htaccess文件调用php解释器去解析一个文件名中只要包含 “aa”这个字符串的任意文件,无论你文件名是什么样子,只要包 含”aa”这个字符串,都可以被以php的方式来解析。 .htaccess 文件内容: <FilesMatch "ljh" >SetHandler application/x-httpd-php</FilesMatch> ?注意:格式一定要写对,不然会报出:Internal Server Error 5.服务器文件绕过5.1 apache中间件解析漏洞个文件名为test. php. aaa. bbb. ccc的文件,Apache会从ccc的位置往 php的位置开始尝试解析,如果ccc不属于Apache能解析的后缀名,那么 Apache就会尝试去解析bbb,这样一直往前尝试,直到遇到一个能解析的扩展名为止。 我们使用cknife 连接,看能不能连接到,成功连接。 ?5.2 iis中间件新建一个文件夹,名字为任意文件名.asp ; 那么在这个文件夹里的内容全部会被当场脚本取运行。 ?新建一文件名字为:任意文件名.asp;任意文件名.jpg 此文件会当成脚本运行(1.asa;1.jpg,2.cdx;2.txt) 3:服务器配置错误(put 协议) 抓取请求包,发送到repeater模块 , 修改为PUT协议写入文件 3:服务器配置错误(put 协议) 利用MOVE协议把上一步的文件tys.txt 移动重命名为 tys.asp, 移动时增加 Destination:http://192.168.3.95/tys.asp 内容为移动后内容 IIS解析漏洞 #2 IIS7.0,7.5 正常路径:uploads/1.jpg 把php文件修改后缀为jpg进行上传 黑客思路:uploads/1.jpg/任意文件名.php 访问方式 这个文件就会被当成脚本去执行。 ?5.3nginx漏洞解析正常路径:uploads/1.jpg 黑客思路:uploads/1.jpg/任意文件名.php 首先上传88.png,然后访问时再后面加上aa.php即可? #2 对低版本的Nginx可以在任意文件名后面添加%00.php进行解析攻击 payload:uploads/1.jpg%00.php 当做正常脚本执行 6.文件上传之绕过文件内容6.1 图片码绕过把代码文件和图片文件进行二进制编码合并形成新的图片,进行上传. 注意2.php代码最前面需要有一个空格 cmd下执行:建议使用小图片copy /b 1.jpg+2.php=3.jpg? (注意/b后边的空格) ? 查看图片码: 将合并文件上传连接即可 ?四、文件上传攻击防护1.上传文件的存储目录不给执行权限 2.隐藏上传文件访问路径 3.文件后缀白名单,注意0x00截断攻击(PHP更新到最新版本) 4.不能有本地文件包含漏洞(include dama. jpg) 5.及时更新web应用软件避免解析漏洞攻击 ? ? ? |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 10:58:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |