解讀ASP程序執行SQL語句時防止注入攻擊的問題_ASP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:揭秘asp常用函數庫大全’-----------------FLYSOBlogASP站點開發常用函數庫------------------ ’OpenDB(vdata_url)--------------------打開數據庫 ’getIp()-------------------------------得到真實IP ’getIPAdress(sip)------------------------查找ip對應的真實地址 ’IP2Num
以下是一個簡單的用戶更改密碼的代碼---------------------
username=request("user_name")
pwd=request("pwd")
username=replace(username,"’","’’")
pwd=replace(pwd,"’","’’")
sql="update tbl_test set pwd=’" & pwd & "’ where uid=’" & username & "’"
set rs=conn.execute (sql)
--------------
現在,假如我注冊一個用戶,用戶名為 aa’; exec sp_addlogin ’haha
當該用戶更改密碼時(假設改為pp),會出現什么后果呢??
sql變為 update tbl_test set pwd=’pp’ where uid=’aa’ ; exec sp_addlogin ’haha’
結果是用戶密碼沒有被修改,因為沒有 aa這個用戶,
但在你的數據庫中創建了一個登陸,新登陸名為 haha
將用戶名稍加修改,實際上可以運行任何sql語句,任何sql系統過程
而這一切都在你不知情的情況下發生的,實際上,上面的只是一個
示范,稍微修改一下用戶名,我們可以做添加一個DBA賬號,刪除所
有紀錄,讀取用戶密碼等越權操作。
分享:詳解將ASP頁面改為偽靜態的簡單方法目前很多網站都采用生成靜態頁的方法,原因是這樣訪問速度會得到提高(服務器端CPU利用率很低),另外也容易被搜索引擎收錄,但是這帶來的一個問題就是需要足夠大的空間存放這些靜態頁面,如果你的空間不是很富裕,而又想有利于被搜索引擎收錄,其實可以采用偽
相關ASP教程:
- 相關鏈接:
- 教程說明:
ASP教程-解讀ASP程序執行SQL語句時防止注入攻擊的問題。