vulnhub靶机b0x

难度:初级到中级

端口扫描

 

仅开放了两个端口

 详细服务信息

web探测 

提示我们用sql注入,这里对于登录窗口的sql注入就是构造进后台了。

但是经过尝试 常见的姿势并没有办法进入后台,那么先暂且放弃这,下一步的思路就是去看看目录有什么信息。

目录扫描

 同样的字典两款不同扫描器会有不同的结果,所以后续还是用两次扫描吧。

这里给出了几个目录,这里我不再去一一进入访问。这里看过去以后发现test这个目录下的内容比较有用,其他的没什么用。做的时候自己手动看一下就好。

这里自己遇到了兔子洞对于add这个目录很感兴趣

但是一直上传不成功。。。。。卡在这好久

 这里其实应该就先暂时放弃这里转而下一个目标。自己经验不足还是死磕导致人迷糊了。

 

这里提示我们用file参数提供路径信息,那我们自然而然想到可能存在文件包含

文件下载漏洞利用

这里通过get行不通,那么试试post

通过post提交数据就可以下载下来一份文件了,很显然这里不是文件包含漏洞而是文件下载漏洞。

tong

通过阅读源码不难发现是一个文件下载漏洞,首先定义一个函数file_download,判断要下载的文件是否存在。存在的话构造返回信息然后读取文件内容。在通过调用函数实现文件下载。


这里是我第一个卡的地方,自己对于漏洞的利用还是不灵活,总结还是基础不扎实,对于攻击手法没有一个框架的思维。无论文件包含还是下载,除了可以看常见的系统配置文件以外,更重要的是我们可以通过这两个漏洞去读取web目录下的任意文件。首先网站运行必然是web权限,所以不存在权限受限问题,第二我们可以通过url判断网站的文件的相对位置,再通过../读取文件。这里自己经验不足,没想到。

后续这里下一步的操作就是用这个下载漏洞去下载源码,还记得index的sql注入提示吗,去下载下来。

 前面目录扫描的时候我们可以看到index和test是在一个目录下,所以用./代表当前目录 

代码审计 

这里自己代码学的不是很好,sql这点看了很多文章自己总结一下。

总结就是在不添加 ' 的情况下如何完成闭合。 

首先我们要理解一件事情,如果在一对单引号或一对双引号之间要再用一次单引号或双引号,那么就会产生报错。

例如

' ' ' 

因为在程序中引号都是成对出现的,那么这时就出现了无法闭合的矛盾的。

再看我们的程序,首先通过前两行字符替换将 ' 替换为空,这样我们就无法进行手动添加 ' 进行闭合了

其中 '.$pass.' 这是一个变量名,其中的单引号并不影响闭合,所以不论我们怎么添加 ' ,最后的查询结果都是

pass=' xxx' and uanme = ' xxx ';

那么我们应该怎么去构造闭合呢?

我们可以通过添加反斜杠转义’,什么意思呢,我们可以通过 \ 改变闭合的位置

例如

pass=' xxxx\' and uname =' or 1=1 #';

构造这样一条语句,那么最终进行查询的语句是什么呢

pass = ' xxxx' and uname =' or 1=1 #'

但是其中pass部分因为我们添加了转义符号,第二个引号被转义成一个字符串,不参与闭合从而导致闭合向后退了到了 第二个等号后第一个位置处,那么我们再把最后一个'过滤掉就可以完成注入闭合。

like this 

pass =  'xxxxxx'( ps:被转义的单引号,被视作一个字符串) and uname = '

+

or 1=1 #'

分成两部分,第二部分永真所以构成了闭合,可以直接进入系统

 

文件包含漏洞 

注意这时我们进入后台了,电脑已经有了cookie,此时我们再用之前的文件下载去读panel看看能得到什么。

 

第一部分是关于文件包含,通过load参数来读取。第二部分是文件上传,且是白名单处理。

那么不难想到我们上传文件是刚刚uploaded_images那个文件夹。可以手动验证。

 直接在这个地方利用就好,因为是白名单我们没办法进行绕过,只能结合文件包含漏洞利用。

构造图片马

 这里jpg图片的选取可以用upload目录下的图片但注意别用这个

因为他其中有一个phpinfo的代码,我利用很久不成功。

 利用

 

 

弹回来了

phpmyadmin

在www目录下还有一个phpmy,这里我前期用的字典比较小没有扫到,而且前面目录扫描的文件可以全下载下来,可以找到一个账号密码,登进去也是一个攻击点。 

通过查看config.inc.php可以得到一组账号密码

没想到可以直接连。。。。

另外这个是Ubuntu的3.12.0 这个有一个可以利用系统提权的文件。

完美契合这个靶机,可以利用。

总结 

本次靶机学到了不少,更多还是漏洞利用的学习,之前对于文件包含这类漏洞只能想到/etc/passwd这个点,没有想到过下载源码。对于php来说文件包含虽不像下载那样可以看任意文件,但也能做到看文件。其次就是对于sql闭合的学习,学到了如何在'被过滤的情况下进行注入。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值