Web_for_Pentester_I之文件上传

Web_for_Pentester是国外安全研究者开发的一款渗透测试平台,由PentesterLab出品。官方给自己的定义是一个简单又十分有效地学习渗透测试的演练平台。
在网页程序中(尤其是那些使用文件系统来决定代码运行的程序),你可让代码在服务端执行,如果你打算用合法文件名上传文件(通常是取决于扩展),在这里,我们就可以看到基于这种类型的攻击。
首先,我们攻击一个PHP的应用,我们需要一个PHP的Web shell,一个Web shell就是一段简单的脚本或者执行代码的网页应用,比如,在PHP中,下面的代码就是一个简单的Web shell:

<?php system($_GET['cmd']); ?>

越复杂的web shell可以执行越高级的操作,比如数据库和文件系统的访问,甚至是TCP隧道。

【实验步骤】
一、 Example1
1.1 由File Upload Example1的源代码example1.php可知,这是一个非常基础的表单,对上传的文件类型没有限制。如图1所示、图2所示
在这里插入图片描述

图 1
在这里插入图片描述

图 2
1.2 新建一个简单的webshell文件a.php,其文件内容如下。如图3所示
在这里插入图片描述

图 3
1.3 下面上传并使用webshell文件a.php。单击“浏览”按钮,选择桌面上的a.php文件。如图4所示
在这里插入图片描述

图 4
1.4 单击“Send file”按钮,文件上传成功,单击提示信息“Upload done!Your file can be found here”中的here链接。如图5所示
在这里插入图片描述

图 5
1.5 因为没有给cmd变量进行赋值,报错。如图6所示
在这里插入图片描述

图 6
1.6 在浏览器地址栏输入http://vulnerable/upload/images/a.php?cmd=ls,给cmd赋值为ls,罗列当前目录下的所有文件和目录。如图7所示
在这里插入图片描述

图 7
1.7 在浏览器地址栏输入http://vulnerable/upload/images/a.php?cmd=pwd,给cmd赋值为pwd,查看当前目录。如图8所示
在这里插入图片描述

图 8
二、 Example2
2.1 由File Upload Example1的源代码example2.php可知,相比于example1.php,只是多了对文件名的限制,上传的文件名不能以.php结尾。如图9、图10所示
在这里插入图片描述

图 9
在这里插入图片描述

图 10
2.2 要绕过这类限制,你可以使用下面的其中一种方法:
一是将扩展名改为.php3。在其它一些系统中,像这类.php4或者.php5的可能也能访问,这取决于web服务器如何解析。
二是使用Apache不认识的扩展名,在.php后跟上.blah。一旦Apache无法解析这类扩展名,他就将会移动到下一个,.php则随即被解析,然后运行其PHP代码。
2.3 一句话木马文件1.php的内容如下。如图11所示
在这里插入图片描述

图 11
2.4 当上传一句话木马文件1.php时报错,提示“NO PHP”。如图12、图13所示
在这里插入图片描述

图 12
在这里插入图片描述

图 13
2.5 将1.php文件的后缀名改为.php3,再重新上传文件1.php3,发现文件可以上传成功。如图14、图15所示
在这里插入图片描述

图 14
在这里插入图片描述

图 15
2.6 单击提示信息“Upload done! Your file can be found here”中的here链接,转到1.php3页面,复制其网址。如图16所示
在这里插入图片描述

图 16
2.7 下面使用中国菜刀连接一句话。打开C:\tools\中国菜刀最新过狗版文件夹下的caidao.exe,在空白处单击右键,选择“添加”。如图17所示
在这里插入图片描述

图 17
2.8 地址为刚刚复制的1.php3的网址,其他设置内容如下,最后单击“添加”。如图18所示
在这里插入图片描述

图 18
2.9 在添加的条目处单击右键,选择“文件管理”,或者直接双击添加的条目。如图19所示
在这里插入图片描述

图 19
2.10 一句话连接成功。如图20所示
在这里插入图片描述

图 20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值