极客大挑战
使用万能密码得到flag
思路
- 弱口令爆破:简单的、容易猜出来的账号密码--系统默认设置的密码,简单排列的
典+爆破
字典怎么获取:
- 上网搜
- 自己搜集放入文档
爆破:一种通过穷举法来尝试所有可能的字符组合
方法:使用一款名叫burp suite的工具进行数据抓包以及爆破
2.sql注入尝试万能密码闭合
sql注入:一种常见的网络安全漏洞攻击方式,主要针对使用sql数据库的web应用程序
万能密码:账号和密码都输入'='(全部使用英文输入法)
原理:select*from users where username='输入用户名'and password='输入的密码'【原后台数据库代码】
select*from users where username=''=''and password=''=''【输入万能密码后的数据库代码
[极客大挑战 2019]Havefun
打开靶机显示如图
右键打开页面源代码向下翻可以得到一串注释
解读注释大概可以知道当cat=dog的时候会输出点啥所以
然后得到flag
思路
1. 无有效信息:尝试查看源代码+目录扫描
2. 目的:进一步发掘有效信息
- 查看源代码的实操方式
- 目录扫描的实操方式
使用工具即可(御剑、dirsearch)
御剑下载链接:
- 考察点
php代码
- php一种广泛使用的开源服务器端脚本语言,主要用于web开发
- php的特征:具有标签或者ehco等php特有语句
- php中的$cat是什么意思:定义了一个变量,这个变量的名称是cat
- php中的$$_GET[]是什么意思:$_GET[]用于获取通过HTTP GET方法传递的参数值
- php中$_GEET['cat']是什么意思:用于获取通过HTTP GET方法传递的参数值,并且这个参数的名称为cat
- php中的echo是什么意思:表示输出、打印,可以简单理解为把东西输出到屏幕上
- php中if(){}是什么意思:条件语句,()里面填限制条件,{}里面填如果满足()中的条件后会执行的代码
- php中$cat=='dog'是什么意思:令cat这个变量值为dog(由于dog由多个字母组成,是字符串所以要用''包裹)
GET传参
- 什么是GET传参:GET传参是一种在HTTP协议中常用的数据传递方式
[HCTF 2018]WarmUp
首先打开靶机可以得到
没有什么关键信息,所以查看他的源代码
尝试在原网页(图片界面)去访问source.php
然后解读这些代码
他定义了一个名为emmm的类,该类中有一个静态方法checkfile用于检查要包含的文件是否在白名单中
checkfile方法首先检查传入的$page参数是否为字符串型,如果不是或未设置,将输出“you can't see it”并返回false
接下来,他检查传入的$page是否直接在白名单中存在,如果存在,返回true
然后会对page参数进行一系列处理:首先使用mb_strops函数找到page中第一个问号的位置,然后使用mb_strpos函数将问号之前的部分作为$_page进行处理
- 符号‘.’是php中的字符串连接运算符,它用于将两个字符串连接在一起,形成一个更长的字符串,在这里,他将$page变量的值和一个?链接在一起,形成一个新的字符串,在这个新的字符串你中查找?是否存在
根据代码执行
那么在去查看hint.php文件,得到
很显然flag不在这里
那么用hackbar拓展根据源代码函数
同时https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\可见需返回到第四级目录之前
返回输入/source.php?file=source.php?/../../../../ffffllllaaaagggg
即可得到flag
[ACTF2020 新生赛]Include
进去后显示如图
没有什么有用的信息,所以打开他的页面源代码
还是没什么有用的信息
但是观察可发现
这个有可能是php伪协议
用hackerbar对php的伪协议进行读取
“php://filter/read=convert.base64-encode/resource=index.php”
并将index替换为flag(要查找的东西)
然后得到了一个一看就是base64的加密
解密即可得到flag
思路
- 没有什么信息先查看源代码
- 用御剑工具进行扫描
这题给了我们一个tips的超链接
去查看他的url发现
url末尾的flag.php
再加上题目的名字叫include(文件包含)
可以判断用php伪协议直接去读取目标文件的信息
php伪协议
- include函数文件包含和伪协议有什么关系
enter link description here
php伪协议可以理解为是一段可以读取php文件内容的代码
- php伪协议的解释