報錯注入與延時注入

摘要:本篇填坑冕臭,補上關于報錯注入與延時注入

報錯注入

需要了解的“函數(shù)”:

  • rand():產(chǎn)生0到1之間的隨機數(shù)
  • floor():向下取整,即舍掉小數(shù)部分
  • concat():拼接數(shù)據(jù)泽艘,將括號中的字符(串)進行拼接
  • group by子句:與SELECT語句結合一起使用,將相同的數(shù)據(jù)分成一組
  • count():查詢記錄數(shù)(對行數(shù)求和)

用法演示

1.select的作用

image

2.concat的作用(0x3a是十六進制的冒號)

image

3.表中有多少條記錄,查詢結果將返回多少條記錄

image

4.count()的作用

image

5.配置一個別名

image

6.隨機數(shù)的使用(rand()乘上2,再經(jīng)向下取整趟妥,則會隨機產(chǎn)生0和1兩個數(shù))

image

6.分組AND分組+統(tǒng)計的作用

image

可以看到出現(xiàn)報錯了,但是同樣的語句第一次報錯佣蓉,第二次沒有報錯披摄,已經(jīng)初見端倪了

報錯原理

在MySQL中,當遇到select count(*) from tables group by x;語句的時候會建立一個虛擬表

image
(key是主鍵不可重復)偏螺,開始查詢的時候行疏,讀取數(shù)據(jù)庫數(shù)據(jù),先看虛擬表中是否存在套像,若不存在酿联,插入數(shù)據(jù)為新紀錄,存在則count值+1.

當我們讀取第一條數(shù)據(jù)的時候(隨機數(shù),rand()*2贞让,為0或1)周崭,假設為0,虛擬表中并不存在這個主鍵喳张,這時將向虛擬表中插入該條數(shù)據(jù)续镇,而此時又將產(chǎn)生隨機數(shù),若為1销部,則插入1摸航,為0,則插入0舅桩。

令我們插入的值為1酱虎,讀取第二條數(shù)據(jù),假如為1擂涛,虛擬表中存在1读串,則1的count值+1。若讀取的第二條數(shù)據(jù)位0撒妈,虛擬表中不存在恢暖,則將向虛擬表中插入數(shù)據(jù),這時隨機數(shù)再次發(fā)揮作用狰右,若插入的值為1杰捂,與第一次插入的值沖突(主鍵是不能重復的),將會返回duplicate key錯誤挟阻,這個錯誤會披露一些關鍵信息琼娘;若插入的為0,則順利插入附鸽。

令我們插入的數(shù)為0脱拼,也就到了讀取第三條數(shù)據(jù)的時候,無論是0或是1坷备,虛擬表中都存在熄浓,將會是count+1的操作。

所以我們可以看到省撑,報錯的幾率是有的赌蔑,有沒有可能讓它必報錯的呢?那就需要讓我們的隨機數(shù)不再“隨機”竟秫,而是產(chǎn)生特定的序列娃惯,通過上面的分析我們可以思考一下什么樣的序列可以“必報錯”。

不錯正是回文的序列肥败,下面給出的是對rand()函數(shù)提供不同的種子趾浅,產(chǎn)生的隨機數(shù)的序列愕提。通過觀察,不難發(fā)現(xiàn)0,4,8,11這幾個種子產(chǎn)生的前四位是回文的皿哨,也就意味著當以這幾個整型數(shù)據(jù)傳入rand()函數(shù)作為種子時將會必報錯浅侨。

rand(0)*2:0110110011

rand(1)*2:0100011000

rand(2)*2:1011001001

rand(3)*2:1001100110

rand(4)*2:0110111111

rand(5)*2:0100011100

rand(6)*2:1011100000

rand(7)*2:1001100001

rand(8)*2:0110011010

rand(9)*2:0100110111

rand(10)*2:1011100100

rand(11):1001001101

上面,不傳入種子時的隨機數(shù)隨機報錯证膨;下面如输,傳入種子為4的偽隨機數(shù)必報錯


image

那么可以總結我們的公式了。

公式

select 1 from (select count(*),concat(floor(rand(0)*2),(select (select(our_sql_sentence)) from information_schema.tables limit 0,1))x from information_schema.tables group by x)a

image

參考文章:報錯型sql注入原理分析
基于報錯的SQL注入
SQL報錯型盲注教程(原理全剖析)

延時注入

MySQL中有一個函數(shù):sleep(value)央勒,可以讓服務器沉睡value秒不见;例如:select * from users where id=1 and sleep(3);那么服務器將沉睡3秒后再執(zhí)行select查詢。

結合if(expr1,expr2,expr3)其中崔步,expr1是判斷條件脖祈,條件為true則執(zhí)行expr2,條件為false則執(zhí)行expr3刷晋。

舉一個簡單的例子:?id=1' and if(1=1,sleep(5),3)--+其中1=1為真,則執(zhí)行sleep函數(shù)捆毫,我們能明顯感覺到服務器的相應時間怕吴;同理宴卖,1=1可以換成我們在bool 盲注時類似的語句,通過觀察服務器相應的時間來判斷條件是否為真捏悬。

另一個函數(shù),BENCHMARK(count, expr)润梯,函數(shù)重復count次執(zhí)行expr过牙;這個函數(shù)還有一個作用是用來返回服務器執(zhí)行的時間,常用來分析性能纺铭。

我們可以利用它第一個重復執(zhí)行的功能代替sleep(用于被過濾的時候)寇钉,常將count設置為10000000,結合if舶赔,與sleep類似扫倡。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市竟纳,隨后出現(xiàn)的幾起案子撵溃,更是在濱河造成了極大的恐慌,老刑警劉巖锥累,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缘挑,死亡現(xiàn)場離奇詭異,居然都是意外死亡桶略,警方通過查閱死者的電腦和手機语淘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門诲宇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人亏娜,你說我怎么就攤上這事焕窝。” “怎么了维贺?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵它掂,是天一觀的道長。 經(jīng)常有香客問我溯泣,道長虐秋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任垃沦,我火速辦了婚禮客给,結果婚禮上,老公的妹妹穿的比我還像新娘肢簿。我一直安慰自己靶剑,他們只是感情好,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布池充。 她就那樣靜靜地躺著桩引,像睡著了一般。 火紅的嫁衣襯著肌膚如雪收夸。 梳的紋絲不亂的頭發(fā)上坑匠,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音卧惜,去河邊找鬼厘灼。 笑死,一個胖子當著我的面吹牛咽瓷,可吹牛的內(nèi)容都是我干的设凹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼忱详,長吁一口氣:“原來是場噩夢啊……” “哼围来!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起匈睁,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤监透,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后航唆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胀蛮,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年糯钙,在試婚紗的時候發(fā)現(xiàn)自己被綠了粪狼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片退腥。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖再榄,靈堂內(nèi)的尸體忽然破棺而出狡刘,到底是詐尸還是另有隱情,我是刑警寧澤困鸥,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布嗅蔬,位于F島的核電站,受9級特大地震影響疾就,放射性物質(zhì)發(fā)生泄漏澜术。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一猬腰、第九天 我趴在偏房一處隱蔽的房頂上張望鸟废。 院中可真熱鬧,春花似錦姑荷、人聲如沸盒延。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽兰英。三九已至,卻和暖如春供鸠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背陨闹。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工楞捂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人趋厉。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓寨闹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親君账。 傳聞我的和親對象是個殘疾皇子繁堡,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

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

  • Sql注入定義: 就是通過把sql命令插入到web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執(zhí)行...
    付出從未后悔閱讀 696評論 0 3
  • 總結了一些開發(fā)中常用的函數(shù): usleep() //函數(shù)延遲代碼執(zhí)行若干微秒乡数。 unpack() //函數(shù)從二進制...
    ADL2022閱讀 454評論 0 3
  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒椭蹄。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解...
    上街買菜丶迷倒老太閱讀 1,366評論 0 20
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,451評論 0 13
  • 一元多項式 定義:形式表達式稱為系數(shù)在數(shù)域P上的一元多項式 其中 項與系數(shù) 多項式中 定義:稱為i次項,稱為i次項...
    溺于恐閱讀 5,175評論 0 8