[极客大挑战 2019]EasySQL 1
-
知识点:
- sql漏洞是把sql命令插入web表单或输入域名,页面的查询请求,达到欺骗服务器,实现诸如绕过登录,查询服务器内容等目的恶意sql命令
- sql注入的万能语句:' or 1=1#
'是闭合前面的查询语句,or 1=1恒成立,可以使用or句子绕过判断,#用于注释,注释后面的内容不再执行,所以该sql命令会返回表内所有内容,其实就是实现一个闭合查询,绕过判断,返回内容的作用
-
解题步骤
[HCTF 2018]WarmUp 1
-
知识点
-
PHP代码审计
-
解题步骤
检查网页源码
2.根据注释内容,进入 source.php文件
3.看到了hint.php文件,进去瞅瞅
根据cource.php文件和hint.php文件,得知flag在ffffllllaaaagggg这个目录下,并且继续会去检查source.php,发现需要满足三个条件,才不会打印滑稽图片
三个条件:值为非空,值为字符串,前面函数checkFile都为真
仔细观察前面的checkFile函数
大概可以总结出,最终变量file=source.php或者file=hint.php
然后由ffffllllaaaagggg可以得出,是四个/../
../代表上一层目录
最终
或者
[极客大挑战 2019]Havefun 1
-
知识点
- PHP代码审计
-
解题步骤
观察网页源代码,发现被注释掉的PHP代码
试一下传参cat=dog,可得出flag
[ACTF2020 新生赛]Include 1
-
知识点
- 文件包含漏洞(由题目名称可猜出)
- PHP伪协议
解释:
php://filter可以获取指定文件源码。
当其与文件包含函数结合时,php://filter流会被当作php文件执行。
所以可以对其进行编码,阻止其不执行,从而读取任意文件源代码。
应用:
1.知道flag文件地址后,可以直接用该协议读取文件内容
2.一些关键字被过滤可以用该协议绕过
3.有的flag隐藏在注释当中,可通过此协议查看源码获取flag
格式:?xxx=php://filter/read=convert.base64-encode/resource=xxx.php
?xxx=php://filter:固定前缀
read:读取
convert.base64-encode:过滤器,转换为base64编码
resource:参数,后面写PHP文件名称
-
解题步骤
看到tips,点进去,发现url显示有file=flag.php,猜测是文件包含漏洞
2.利用PHP伪协议,php://filter
得到了base-64的编码
base64是一种通过64个字符来对二进制数据进行表示的方式。base64编码,就是从二进制编码转化为64字符编码的具体过程。
利用解码工具,进行解码,得到flag
来源地址:https://blog.csdn.net/m0_62905745/article/details/127460921