国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

利用SQL注入漏洞登錄后臺的實現方法

2024-07-24 12:49:24
字體:
來源:轉載
供稿:網友
早在02年,國外關于SQL注入漏洞的技術文章已經很多,而國內在05年左右才開始的。
  如今,談SQL注入漏洞是否已是明日黃花,國內大大小小的網站都已經補上漏洞。但,百密必有一疏,入侵是偶然的,但安全絕對不是必然的。
  前些天,網上傳得沸沸揚揚的“拖庫”事件給我們敲響了安全警鐘。
  在開發網站的時候,出于安全考慮,需要過濾從頁面傳遞過來的字符。通常,用戶可以通過以下接口調用數據庫的內容:URL地址欄、登陸界面、留言板、搜索框等。這往往給駭客留下了可乘之機。輕則數據遭到泄露,重則服務器被拿下。
現在,很多網站開發人員知其然而不知其所以然,小弟也是,所以趕緊惡補下,總結如學習內容。希望對初學者能夠起到拋磚引玉的作用。
一、SQL注入的步驟
a) 尋找注入點(如:登錄界面、留言板等)
b) 用戶自己構造SQL語句(如:' or 1=1#,后面會講解)
c) 將sql語句發送給數據庫管理系統(DBMS)
d) DBMS接收請求,并將該請求解釋成機器代碼指令,執行必要的存取操作
e) DBMS接受返回的結果,并處理,返回給用戶
因為用戶構造了特殊的SQL語句,必定返回特殊的結果(只要你的SQL語句夠靈活的話)。
下面,我通過一個實例具體來演示下SQL注入
二、SQL注入實例詳解(以上測試均假設服務器未開啟magic_quote_gpc)
1) 前期準備工作
先來演示通過SQL注入漏洞,登入后臺管理員界面
首先,創建一張試驗用的數據表:
復制代碼 代碼如下:

CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(64) NOT NULL,
`password` varchar(64) NOT NULL,
`email` varchar(64) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

添加一條記錄用于測試:
復制代碼 代碼如下:

INSERT INTO users (username,password,email)
VALUES('MarcoFly',md5('test'),'marcofly@test.com');

接下來,貼上登錄界面的源代碼:
復制代碼 代碼如下:

<html>
<head>
<title>Sql注入演示</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body >
<form action="validate.php" method="post">
<fieldset >
<legend>Sql注入演示</legend>
<table>
<tr>
<td>用戶名:</td><td><input type="text" name="username"></td>
</tr>
<tr>
<td>密  碼:</td><td><input type="text" name="password"></td>
</tr>
<tr>
<td><input type="submit" value="提交"></td><td><input type="reset" value="重置"></td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柏乡县| 苗栗市| 衡山县| 阿克陶县| 东明县| 石渠县| 宁南县| 巩留县| 调兵山市| 花莲县| 涞源县| 江华| 辰溪县| 石狮市| 梨树县| 东源县| 股票| 禹州市| 五原县| 汝南县| 马公市| 三都| 酒泉市| 炉霍县| 清远市| 怀宁县| 岳阳市| 曲松县| 涞源县| 田阳县| 峡江县| 榆社县| 贵州省| 涞水县| 长宁区| 宜章县| 福州市| 扎兰屯市| 江阴市| 萝北县| 玉屏|