freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CTF靶场系列-Pentester Lab: From SQL injection to Shell...
2019-08-19 21:37:37
所属地 广东省

下载地址

https://download.vulnhub.com/pentesterlab/from_sqli_to_shell_II_i386.iso

实战演练

使用netdiscover命令查找靶机的IP。

image.png

使用nmap查看靶机开放的端口

image.png打开80端口

image.png

直接用sqlmap测试显示是没有漏洞的

image.png查了资料发现需要添加这个header,X-Forwarded-For
image.pngimage.png

现在尝试使用以上凭据访问管理控制台,再次在浏览器中打开目标IP:192.168.0.104并单击登录选项卡,然后键入login作为管理员,密码作为P4ssw0rd。

恭喜!!!第一项任务完成。

现在最后一项任务是上传PHP webshel​​l。在管理控制台下,您将看到一个链接添加新图片以在此Web服务器中上载图像。单击添加新图片以上载图像。

image.png直接上传PHP文件,无法上传

image.png

遇到上传功能时,可以执行以下步骤:

  • 确保文件在Web根目录中上载(因此您可以访问它以解释它)。
  • 确保代码检查扩展并且无法绕过它。
  • 确保代码检查内容类型并且无法绕过它。

通过使用合法的图像(.png.jpg.gif文件),我们可以看到,文件被在网络上传的根,并得到改名基础上,当前时间,文件扩展名是保持不过。

如果您尝试上传与PHP扩展名不同的文件.png.jpg或者.gif该文件被拒绝。似乎没有旁路可用。

如果您尝试上传具有正确扩展名但没有正确内容的文件(如名为的文本文件test.jpg),该文件也会被拒绝。

最后,如果您尝试上传具有正确扩展名,正确内容但内容操作较少的文件(通过添加额外的单词vi),该文件也会被拒绝。

唯一的可能是上传一个有效的文件,并尝试获取代码执行。我们还可以注意到PHP代码不会调整文件的大小。

2010年,80sec.com发布了Nginx服务器配置中常见问题(中文)。Neal Poole在2011年也对此问题进行了详细介绍。

基本上,如果没有正确配置Nginx / PHP,当有人访问URL http://vulnerable/admin/uploads/hacker.png/x.php时,该文件hacker.png将被解释为PHP代码。

我们可以通过上传恶意图像来使用这种错误配置来在服务器上获得代码执行。但是,正如我们之前测试的那样,文件需要是有效的图像。我们需要找到一种方法在保留有效文件的同时在图像中注入PHP代码。

一种简单的方法是将我们的有效负载注入图像的EXIF数据中作为注释。这可以通过使用该工具来完成exiftool

很多PHP应用程序使用的库`gd`在图像调整大小时删除了EXIF数据。幸运的是,情况并非如此。它仍然值得测试,因为很多人(特别是照片)想要保留这些信息,即使图像调整大小并决定从`gd`转移到`ImageMagick`。

首先,我们需要创建有效负载(shell.php):

webshell

image.png

搞定之后,直接上传就行
image.pngNC反弹

image.png

# ctf靶场系列
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者