ctf 基本思路
得到flag参考思路
1.信息探测
1.1 扫描信息
1 | nmap -p- -T4 IP # 探测端口 |
1.2 探测敏感信息
1 | nikto -host http://ip:port |
2.深入挖掘
1.1 http服务
对于大端口非htp服务,可以使用nc来探测该端口的banner信息
1 | nc IP port |
对于大端口http服务,可以使用浏览器浏览界面查看源代码,寻找flag值
1 | http://ip地址:端口号 |
在扫描的全部信息里寻找是否为http服务
对于http服务,打开相关敏感页面,查看敏感信息,找到可利用的位置(包括80端口)
==注意之前用dirb和nikto扫描出来的目录==
注意到flag.txt,打开获得flag
并且这里有个passwords.html,打开发现没有什么,但是我们==查看源代码==,发现一个password:Winter,记录下来
1.2 FTP服务
FTP 匿名登陆 挖掘敏感信息
在浏览器输入
1 | ftp://IP |
匿名登录ftp服务器根目录
发现flag
然后在站点robots.txt文件中寻找敏感文件目录,挖掘漏洞(在扫描的信息中查看)
==注意:对于命令执行,为了绕过对应的限制,可以使用相近命令==
1 | cat -> more |
然后依次打开robots.txt中的目录
发现命令执行窗口
于是想到命令注入
1 | 127.0.0.1;id |
1、命令注入我们要防备其对于一些符号的过滤导致我们不能成功注入,所以我们要多了解一些符号。
2、;直接分号分隔
管道符:作用和&一样。前面和后面命令都要执行,无论前面真假
3、| 按位或
作用是直接执行|后面的语句
4、|| 逻辑或
作用是如果前面命令是错的那么就执行后面的语句,否则只执行前面的语句
5、& 按位与
&前面和后面命令都要执行,无论前面真假
6、&& 逻辑与
如果前面为假,后面的命令就不执行,如果前面为真则再执行后面命令,这样两条命令都会被执行
找到在home下的用户Summer
然后利用ssh远程连接
但是发现无法直接连接,看到扫描的端口号有个22222端口
于是利用这个端口进行连接
1 | ssh -p 22222 Summer@IP |
于是得到反弹shell
利用pwd ls cat more等命令
查看flag
知识点:
空格绕过:
1 | $IFS |
- Title: ctf 基本思路
- Author: Dunm1e
- Created at : 2024-09-11 18:56:47
- Updated at : 2024-09-21 12:39:09
- Link: https://dunm1e.github.io/2024/09/11/93f6ba8bb1f2/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments