强网杯2018 部分web wp

咸鱼web手被大佬虐哭,做又做不来,只能跟着队友躺躺这样子,QWQ
题目质量很高,膜一波FlappyPig的大佬们~

0x00 web签到

第一层:
特殊子串举例如下:

240610708、QNKCDZO、aabg7XSs、aabC9RqS

直接过
第二层:
传入param[] 数组型,error = error,过
第三层,传入MD5相等文件,附脚本如下:
这里写图片描述
这里写图片描述
这里写图片描述

0x01 three hit

注册时候我们发现age栏输入0x 及十六进制字符串会显示,之后猜测这是一个二次注入利用,第一次将我们的poc写入age,第二次利用age查询是否有相同的agename,猜测语句为 select name from table where age = age ,所有思考后面这个age,即我们可控的这个参数如何利用。
很遗憾union这种查询我们一直无法利用,利用exist函数我们成功发现存在flag表和flag字段,所以我们写了如下两个脚本,最终通过逐个查询getflag
第一个为注册脚本:
这里写图片描述
这里写图片描述
这里写图片描述
第二个为登录查询脚本:
这里写图片描述
这里写图片描述

0x02 Python is the best language 1

Ps:这题槽点真多,,,
三种方法getflag:
1. 晚上admin/admin登录直接拿flag
2. 留言板有人放,QWQ
3. 正常解法:
数据库注入:
根据题目给的源码,很容易发现这里有注入点
这里写图片描述
网络太卡无力吐槽,只能手工逐个注入,一些payload
‘+ascii((substr((select(schema_name)from(information_schema.schemata)limit 2,1),1,1)))+’
‘+ascii((substr((select(table_name)from(information_schema.tables)where(table_schema=’flask’)limit 0,1),1,1)))+’
ps:测试注入点时玄学select的括号,难受到不行……
逐个这样下去,可知
Flask数据库
表 flaaaaag,followers
第一个表可以拿到flag
第二个表看了第一个字段,followers_id

其他部分wp参考以下大佬们的博客地址:
强网杯2018 Web writeup
Pwn a CTF Platform with Java JRMP Gadget
强网杯-writeup
Python is the best language-Writeup

猜你喜欢

转载自blog.csdn.net/wy_97/article/details/79705700