初始点1级第一关Appointment
获取目标机IP。
执行以下命令,扫描目标IP。
nmap -sC -sV {target_IP}
-sC:使用默认脚本执行脚本扫描
-sV:启⽤版本检测,它将检测什么版本正在什么端⼝上运⾏。
扫描发现,80端口上正在运行Apache httpd服务版本2.4.38。Apache HTTP Server是一个免费的开源应用程序,可以在物理或虚拟web服务器上运行网页,通常在标准HTTP端口(80TCP、443TCP)上运行,也可以在HTTP端口(8080TCP或8000TCP)上运行。
nmap扫到了Apache的具体版本,2.4.38,我们可以先查看该版本是否存在漏洞,如果没有,可以在浏览器访问目标IP查看,发现是一个登陆页面。
使用弱口令尝试登录。
admin:admin
guest:guest
user:user
root:root
administrator:password
如果常用组合登录失败,可以对目标进行暴力破解,不过暴力破解时间较长,还可能触发安全措施。
还可以进行目录爆破,看是否有其他目录或网页有利于我们进一步渗透。
执行以下命令,使用Gobuster工具进行目录爆破。
gobuster dir --url http://{target_IP}/ --wordlist /usr/share/wordlists/dirb/small.txt
dir:指定web目录爆破
--url:指定目标IP
--wordlist:指定字典
查看后并没有我们可以进一步利用的任何信息。
接下来我们测试登录框是否具有sql注入漏洞。
后台数据库查询语句为:
SELECT * FROM users WHERE username='$username' AND password='$password';
如果存在sql注入,用户输入的sql语句会直接拼接到后台数据库查询语句中并执行。
用户名输入“admin'#”,查询语句为:
SELECT * FROM users WHERE username='admin'#' AND password='$password';
‘闭合admin,#注释后面的内容,如果用户名为admin即可成功登录。
用户名还可以输入”'admin'or'1'='1'“,查询语句为:
SELECT * FROM users WHERE username='admin'or'1'='1' AND password='$password';
’闭合admin,如果‘1’=‘1’结果为真,即可成功登录。
这里我们用户名输入”admin‘#“,密码随便输。
登录成功,获取flag值。
Appointment任务
任务1
问:SQL 缩写代表什么?
答:Structured Query Language
任务2
问:最常见的 SQL 漏洞类型之一是什么?
答:SQL injection
任务3
问:此漏洞的 2021 年 OWASP Top 10 分类是什么?
答:A03:2021-Injection
任务4
问:Nmap 报告在目标的 80 端口上运行的服务和版本是什么?
答:Apache httpd 2.4.38 ((Debian))
任务5
问:HTTPS 协议使用的标准端口是什么?
答:443
任务6
问:Web 应用程序术语中的文件夹是什么?
答:directory
任务7
问:“未找到”错误的 HTTP 响应代码是什么?
答:404
任务8
问:Gobuster 是一种用于暴力破解网络服务器上目录的工具。我们在 Gobuster 中使用什么开关来指定我们要发现目录,而不是子域?
答:dir
任务9
问:MySQL 中可以使用什么单个字符来注释掉一行的其余部分?
答:#
任务10
问:如果不仔细处理用户输入,它可能会被解释为评论。使用评论以管理员身份登录,无需知道密码。返回的网页第一个单词是什么?
答:Congratulations
任务11
提交flag。
总结
当事情不景气时,继续前进、坚持不懈是至关重要的。
原文始发于微信公众号(AlertSec):HackTheBox-Appointment
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论