CTFHUB技能树
HTTP协议
请求方式
- 抓包然后根据页面提示修改请求头即可
302跳转
-
抓包,然后重发
302用来做临时跳转 302 表示临时性重定向,访问一个Url时,被重定向到另一个url上。
302常用于页面跳转,比如未登陆的用户访问用户中心,则重定向到登录页面,访问404页面会重新定向到首页。
301适合永久重定向 301比较常用的场景是使用域名跳转。
比如,我们访问 http://www.baidu.com 会跳转到
https://www.baidu.com,发送请求之后,就会返回301状态码,然后返回一个location,提示新的地址,浏览器就会拿着这个新的地址去访问。注意: 301请求是可以缓存的, 即通过看status code,可以发现后面写着from cache。或者你把你的网页的名称从php修改为了html,这个过程中,也会发生永久重定向。
301重定向和302重定向的区别
302重定向只是暂时的重定向,搜索引擎会抓取新的内容而保留旧的地址,因为服务器返回302,所以,搜索引擎认为新的网址是暂时的。而301重定向是永久的重定向,搜索引擎在抓取新的内容的同时也将旧的网址替换为了重定向之后的网址。
Cookie
- 将admin的值改为1即可
基础认证
-
打开题目所给附件看见是密码字典,便可知要用爆破
-
点击click,输入账号密码
-
Basic基础认证,将basic后面的内容解密
我们可以知道格式是admin:123
解密后发现是我们输入的账号和密码 -
批量行加密
加密之后如果有等于号必须把等于删除。
响应包源代码
- 右键查看网页源码
此页面是一个纯前端的操作,抓包抓不到
信息泄露
目录遍历
-
有两层目录,一个一个试,一共有4*4种尝试方法,找到flag.txt
-
也可以使用python脚本
#! /usr/bin/env python # _*_ coding:utf-8 _*_ import requests url = "http://challenge-2610424eb38bef5b.sandbox.ctfhub.com:10800/flag_in_here/" for i in range(5): for j in range(5): url_test =url+"/"+str(i)+"/"+str(j) r = requests.get(url_test) r.encoding = 'utf-8' get_file=r.text if "flag.txt" in get_file: print(url_test)
PHPINFO
- ctrl+F 查找关键字flag
备份文件下载
网站源码
-
使用dirsearch扫描
-
访问www.zip,下载文件
-
尝试在网站上访问
bak文件
- 根据提示访问index.php.bak文件
- 下载并查看
vim缓存
知识点:
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
方法一:使用curl
利用curl访问即可直接看到flag,因为vim使用的缓存存储为一种固定格式的二进制文件。而我们一般编辑的是明文可见字符,在vim的缓存中这些可见字符会原样保留
curl http://challenge1fca583e2efabe6d.sandbox.ctfhub.com:10800/.index.php.swp
方法二:
vim缓存文件的后缀为.swp,因为vim缓存文件为隐藏的,所以要在前面再加一个点 访问.index.php.swp,就可以下载下来
swp文件: 非正常关闭vim就会生成swp文件
.DS_Store
- 下载得到DS_Store这个文件,打开后发现下面的字符串
- 去除空格后在浏览器访问
更简单的方法就是直接在linux系统中打开该文件即可。
密码口令
弱口令
什么是弱口令?
弱口令是网络安全十大安全漏洞之一,所谓的口令其实就是我们的密码,而弱口令就是相对来说比较容易被破解的密码,它会对信息安全造成严重的安全隐患。
弱口令我们可以简单的理解为能让别人随意就猜到的密码,比如abc、111、123、123456、88888888等等诸如此类的密码。
除此之外大家都能知道的密码称之为弱口令。还有以下的几点也如果不达到要求也可以称之为弱口令:①空口令,没有设置密码
②口令小于8个字符且较为简单
③口令为连续的字母或者单纯数字
④口令为本人相关的名字字母,生日,易被发现的邮箱号,账号名昵称名,都可以称为弱口令,可以定义为针对你的弱口令,而不是普遍的弱口令。
弱口令一旦被破解将面临很严重的资产风险,在网络安全方面,我们的云主机,服务器一旦暴露了我们的登录密码则会导致我们的主机被入侵,导致我们网站,app,主机载体的内容受到损坏,可能导致不可逆的破坏和严重的经济损失。
同时不仅仅是主机、服务器,弱口令还涉及到我们日常的各类登录密码邮箱,微信、qq、web注册页面等等都是我们需要留意的,账号价值高的账户一定要设置安全复杂口令。
复杂口令建议:8字符以上且包含英文大小写+数字+符号的组合,同时一旦有暴露口令的风险一定要及时更换口令。
- 输入用户名:admin 密码:123456 测试
- 使用bp进行密码爆破
- 使用重发器修改密码为爆破所得密码,点击发送
SSRF
内网访问
- 根据题目提示访问flag.php
伪协议读取文件
伪协议:
file:///
dict://
sftp://
ldap://
tftp://
gopher://(万金油)
- 查看网页源码
端口扫描
题目提示,端口为8000-9000,我们使用bp进行爆破
端口扫描一般使用dict://,先输入dict://127.0.0.1:端口号(随便输入一个端口号即可)
抓包,Ctrl+i,发送到测试器