Billu_b0x 靶机

一、信息收集

1.1 端口服务发现

全端口扫描:nmap 10.0.2.4 -p1-65535  

进行服务版本发现

nmap 10.0.2.4 -p 22,80 -sV

目标开放web服务和ssh服务

1.2 敏感文件

进行敏感文件扫描

dirsearch -u "http://10.0.2.4" 

对扫到的文件进行访问,发现几个可能有价值的文件。每个都访问一下看看有什么

1.2.1 文件源码发现

  • 这个页面似乎需要传递一个file参数

​ 试一下,还是不行。后端并没有接受。可能是需要post传递数据

​ 回显提示变了,看来真的是采用post接收数据。提示看起来是文件找不到。

​ 那指定一个存在的文件把,果然读到了。php代码直接返回了,看起来不是文件包含,像是文件读取。(文件包含是把执行代码的结果返回来,也就是以文本数据返回。)

​ 大概看了一下代码,其中关键有一段SQL语句。看起来是登录验证的代码,

1.2.2 phpmyadmin发现

随手几个弱口令不行

通过后面的文件读取可读取到数据库账号和密码

1.2.3 上传页面发现

上传不了

二、漏洞发现

访问web页面,提示登录口有SQL注入

手工全部失败

" or  1=1 # 
'  or  1=1 #
...

肯定不能一直手工下去
开启burp 进行fuzz(字典越大越好),这里也可以结合前面发现的代码进行审计

成功得到能拼接成功的payload
	or 0=0 # \
	'or  0=0 # \

登录进去,发现上传功能点

看看能不能上传php,结果显示只允许图片格式的文件

修改文件后缀为png,还是失败。说明后端应该还检测别的地方来看是否是图片

还有一种通过检测图片文件头来判断是否是图片,加上发现上传成功。

GIF89a是gif格式的文件头,选择它的原因是因为gif的文件头是可以以可显字符显示的。像png,jpg它们的文件头都是不可显的二进制数据

再把文件后缀改回php,不行,看来后端即检测 了文件头和文件后缀。也就是说后门只能以图片形式上传,要想执行php代码,只能结合文件包含漏洞了。

前面发现了一个add.php页面跟后台的上传页面功能看上去是一样

所以又可能是后端页面调用add.php这个文件,存在调用意味着可能有文件包含

抓包

改变这个值,发现确实可控

包含首页,发现返回html。存在文件包含

现在,可以通过这个文件包含来包含图片马了

利用php反弹shell(bash反弹和msf的木马反弹shell不知道为什么不好使)

访问执行图片中的php

监听

低权限www-data

三、内核漏洞提权

uname -a 查看内核版本。

进入可写目录tmp,下载exp并执行。返回root权限

posted @   lsyr007  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示