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权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!