web1
知識點
## information_schema繞過
##無列名注入
注入點在廣告申請廣告名字處,申請廣告名為
查看廣告詳細返回錯誤
接下來就是常規的union注入的套路,但是發現or被過濾,這樣搞得不能用order by
而且空格
沒事,直接union 1,2,3先嘗試一下
發現空格被過濾 這里用/**/可以繞過
查看廣告,發現發會列數不對
接下來就逐一的增加或者是減少列數就行了,一個一個的試,最后發現列數有22列,顯示位在2,3位
接下來就是常規的拿表名和列名,但是會發現or被過濾,被過濾的死死的,常規辦法根本無法繞過,導致information_schema無法使用,然后就是那天kk師傅分享的東西了
# information_schema繞過
https://www.anquanke.com/post/id/193512
得到表名 users,ads
注:當時線上的時候用這個辦法解出來了,但是后來比賽結束在buuctf上復現去做的時候發現這個方法行不通 ,因為buuctf環境里沒有這兩個庫,然后我去百度wp發現有個老哥說他是猜出來了 ,這里只有等官方wp出來再康,沒辦法
這種方法無法獲取列名但是可以使用無列名注入
https://blog.csdn.net/qq_40500631/article/details/89631904
注意,在無列名注入的時候 一定要和表的列數相同 不然會報錯 這里我也是1列+1列的嘗試,最后發現users里有三列
語句:
=tang'/**/union/**/all/**/select/**/1,group_concat((select/**/group_concat(c)/**/from/**/(select/**/1,2,3/**/c/**/union/**/select/**/*/**/from/**/users)b)),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/'&content=1
當時在線上的時候,這里有提示拿去MD5直接解密,但是比賽結束平台換成buuctf過后就直接給flag了
知識點:
1.無列名注入
https://www.jianshu.com/p/6eba3370cfab
語句
一般都是: (select `2` from (select 1,2,3 union select * from table_name)a) //前提是要知道表名
((select c from (select 1,2,3 c union select * from users)b)) 1,2,3是因為users表有三列,實際情況還需要猜測表的列的數量
2.bypass information_schema
https://www.anquanke.com/post/id/193512
sys.schema_table_statistics_with_buffer。。
但是值得注意的是 一般要超級管理員才可以訪問sys
所以一般還可以用這個方法
在buuctf環境中這個也不行
上面圖片來自:https://www.cnblogs.com/qftm/p/10317257.html
前提是users表存在
但是這個方法也不行 ,polygon和lingstring被過濾
等官方wp吧,比賽六道web題只做出來這一道題,后面的題我會陸續補上,下學期開學我一定成為三個方向都可以做題的帥波!