在使用者名為空不輸入或隨便輸入使用者名稱,在密碼輸入框裡用 'or''=' 回車就可以進入人家的系統。
典型錯誤程式如下:
private void login_ok_click(object sender, system.eventargs e)
{ string sqlstr="select * from ***pany_admin where username='"+username.text+"' and password='"+password.text+"'"; //這一句:典型的sql漏洞這一句:典型的sql漏洞
可以改寫為:
string sqlstr="select * from ***pany_admin where username=@username and password=@password";
或者用儲存過程
另外一般的web資料提交到資料時都要經過replace("'","''")轉換
也可以採用引數
sql***mand cmd=new sql***mand ("select * from usertable where 使用者名稱=@userand 密碼=@pwd",conn);
cmd.param***.add("@user","使用者名稱");
cmd.param***.add("@pwd","密碼");
當然
也可以用md5加密
sql 防注入漏洞
一 為了防止sql 注入漏洞,應使用sql引數 以下 當 textbox1.text 是 1 or 1 1 時就會產生 sql 注入漏洞 private void button1 click object sender,eventargs e 修改 使用sql引數可以防止漏洞 private voi...
SQL注入漏洞的防案
1 輸入過濾,對於整數,判斷變數是否符合 0 9 的值 其他限定值,也可以進行合法性校驗 對於字串,對sql語句特殊字元進行轉義 單引號轉成兩個單引號,雙引號轉成兩個雙引號 mysql也有類似的轉義函式mysql escape string和mysql real escape string。asp的...
webmin RCE漏洞利用及分析
webmin是目前功能最強大的基於web的unix系統管理工具。管理員通過瀏覽器訪問webmin的各種管理功能並完成相應的管理動作。利用條件 webmin 1.910 原因 官網 sourceforge 中存在漏洞,github 中無漏洞,為後門植入,不得不佩服這些老外真會玩,看了一堆大神分析,自己...