SQL注入時不能用 號的原因

2021-09-11 05:33:03 字數 1117 閱讀 4528

因為一直在糾結乙個問題,為什麼有些時候在做sql注入時不能用#做注釋,只能拿%23做注釋使用,前端**並沒有過濾,所以只能是後台的限制,詢問了大佬以後,告訴我去監控一下mysql的語句,折騰了半天,終於搞好了。

通過以下命令來完成mysql日誌的監控tail -f /tmp/mysql.log

[root@tutu tmp]# tail -f /tmp/mysql.log    

190222 1:08:09 4 connect root@localhost on

4 init db security

4 query select * from users where id='1' #' limit 0,1

4 quit

//這條是使用%23來注釋

190222 1:08:13 5 connect root@localhost on

5 init db security

5 query select * from users where id='1' ' limit 0,1

5 quit

//這條是使用#來注釋

還可以使用seay資料庫審計系統中的mysql外掛程式來進行檢視日誌。

由上可以看出,從瀏覽器輸入的#並沒有發到資料庫來,但是不知道為啥,有說是資料庫的編碼、資料字段的型別、index.php的編碼等等問題,但驗證過後都不是,在測試過程中總覺得是瀏覽器有問題,那接下來用burp試試再看看。

由此可見確實發出來的時候直接將#去掉了,不死心,繼續扔到repeater裡面測試,結果發現了這麼乙個東西。。。

於是猜想#號是不是在url中有特殊含義的,簡單去搜尋了下才發現#確實是有特殊作用的,並且現在不允許出現在http請求中不允許出現#,但是記得在之前確實也可以拿#(post方式肯定是可以的)來進行注釋的阿。。。有點無語,折騰了幾個小時來測試這個東西,當然也掌握到了一些新的東西。

一次yum命令不能用的原因分析

今天在一台機器上使用yum安裝rrdtool,出現以下報錯 traceback most recent call last file usr bin yum line 28,in?importyummain importerror no module named yummain 重新解除安裝yum的...

突破SQL注入時輸入框長度的限制

end 用法 先把len.reg匯入登錄檔 注意檔案路徑 然後把len.htm拷到登錄檔中指定的地方.開啟網頁,游標放在要改變長度的輸入框上點右鍵,看多了乙個叫擴充套件的選項了吧 單擊搞定 後記 同樣的也就可以對付那些限制輸入內容的指令碼了.附 防止本地提交的asp response.write 你...

剖析金額不能用浮點數表示的原因

近期參與到了乙個金融專案,開發十分的謹慎。先丟擲我有問題的 作用是把以分為單位的金額轉成以元為單位的字串。long adjustfee string.valueof adjustfee 100.0 很自信的以為這行 簡潔明瞭的完成了使命。同事review了我的 後,指出這段 會造成精度丟失的問題。先...