干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

十二年專(zhuān)注于品牌網(wǎng)站建設(shè) 十余年專(zhuān)注于網(wǎng)站建設(shè)_小程序開(kāi)發(fā)_APP開(kāi)發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
小程序
tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開(kāi)百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

防Sql注入專(zhuān)業(yè)知識(shí)--sql注入的危害及防治

百恒網(wǎng)絡(luò) 2012-01-06 5156

Web SQL注入攻擊的危害性

Web安全紛繁復(fù)雜,危害最嚴(yán)重的當(dāng)屬SQL注入。SQL Injection,中文名稱(chēng)為“SQL 注入”是一種數(shù)據(jù)庫(kù)攻擊手段,也是WEB應(yīng)用程序漏洞存在的一種表現(xiàn)形式,它的實(shí)際意義就是利用某些數(shù)據(jù)庫(kù)的外部接口把用戶(hù)數(shù)據(jù)插入到實(shí)際的數(shù)據(jù)庫(kù)操作語(yǔ)言當(dāng)中,從而達(dá)到入侵?jǐn)?shù)據(jù)庫(kù)乃至操作系統(tǒng)的目的。

SQL Injection 的主要形式是,直接將代碼插入與 SQL 命令串聯(lián)并執(zhí)行的用戶(hù)輸入變量中,間接的將惡意代碼注入要在表中存儲(chǔ)或作為元數(shù)據(jù)存儲(chǔ)的字符串,在存儲(chǔ)的字符串隨后串連到一個(gè)動(dòng)態(tài) SQL 命令中時(shí),執(zhí)行該惡意代碼。基本的攻擊是提前終止文本字符串,然后追加一個(gè)新的命令。由于插入的命令可能在執(zhí)行前追加其他字符串,因此攻擊者將用注釋標(biāo)記“??”來(lái)中止注入的字符串。執(zhí)行時(shí),此后的指令將被忽略.

SQL Injection 攻擊技術(shù)就起本質(zhì)而言,它利用的工具是SQL的語(yǔ)法,針對(duì)的是應(yīng)用程序開(kāi)發(fā)者編程中的漏洞,當(dāng)攻擊者能操作數(shù)據(jù),向應(yīng)用程序中插入一些SQL語(yǔ)句時(shí),SQL Injection攻擊就發(fā)生了。實(shí)際上,SQL Injection攻擊是存在于常見(jiàn)的多連接的應(yīng)用程序中的一種漏洞,攻擊者通過(guò)在應(yīng)用程序預(yù)先定義好的查詢(xún)語(yǔ)句結(jié)尾加上額外的SQL語(yǔ)句元素,欺騙數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行非授權(quán)的任意查詢(xún)。這類(lèi)應(yīng)用程序一般是Web Application,它允許用戶(hù)輸入查詢(xún)條件,并將查詢(xún)條件嵌入SQL 語(yǔ)句中,提交到數(shù)據(jù)庫(kù)中執(zhí)行。通過(guò)構(gòu)造畸形SQL語(yǔ)句攻擊者能夠獲取額外的信息數(shù)據(jù)。

就風(fēng)險(xiǎn)而言,SQL Injection攻擊也是位居前列,和緩沖區(qū)溢出漏洞相 比,其優(yōu)勢(shì)在于能夠輕易的繞過(guò)防火墻直接訪問(wèn)數(shù)據(jù)庫(kù),甚至能夠獲得數(shù)據(jù)庫(kù)所在的服務(wù)器的訪問(wèn)權(quán)限。在某些環(huán)境下,SQL Injection 漏洞的風(fēng)險(xiǎn)要高過(guò)

其他所有的漏洞。SQL Injection攻擊利用的是SQL 語(yǔ)法,這使得這種攻擊具有廣泛性。特點(diǎn)鮮明:

隱蔽性強(qiáng)

利用Web漏洞發(fā)起對(duì)WEB應(yīng)用的攻擊紛繁復(fù)雜,包括SQL 注入,跨站腳本攻擊等等,一個(gè)共同特點(diǎn)是隱蔽性強(qiáng),不易發(fā)覺(jué),因?yàn)橐环矫嫫胀ňW(wǎng)絡(luò)防火墻是對(duì)HTTP/HTTPS全開(kāi)放的,另一方面,對(duì)Web應(yīng)用攻擊的變化非常多,傳統(tǒng)的基于

特征檢測(cè)的IDS對(duì)此類(lèi)攻擊幾乎沒(méi)有作用。

攻擊時(shí)間短

可在短短幾秒到幾分鐘內(nèi)完成一次數(shù)據(jù)竊取、一次木馬種植、完成對(duì)整個(gè)數(shù)據(jù)庫(kù)或Web服務(wù)器的控制,以至于非常困難作出人為反應(yīng)。

危害性大

南昌網(wǎng)站建設(shè)公司百恒網(wǎng)絡(luò)認(rèn)為目前幾乎所有銀行,證券,電信,移動(dòng),政府以及電子商務(wù)企業(yè)都提供在線交易,查詢(xún)和交互服務(wù)。用戶(hù)的機(jī)密信息包括賬戶(hù),個(gè)人私密信息(如身份證),交易信息等等,都是通過(guò)Web存儲(chǔ)于后臺(tái)數(shù)據(jù)庫(kù)中, 這樣,在線服務(wù)器一旦癱瘓,或雖在正常運(yùn)行,但后臺(tái)數(shù)據(jù)已被篡改或者竊取, 都將造成企業(yè)或個(gè)人巨大的損失。據(jù)權(quán)威部門(mén)統(tǒng)計(jì),目前身份失竊(identity theft)已成為全球最嚴(yán)重的問(wèn)題之一。

非常嚴(yán)重的有形和無(wú)形損失

目前,包括政府以及很多大型企業(yè)尤其是在國(guó)內(nèi)外上市的企業(yè), 一旦發(fā)生這類(lèi)安全事件,必將造成人心惶惶,名譽(yù)掃地,以致于造成經(jīng)濟(jì)和聲譽(yù)上的巨大損失,即便不上市,其影響和損失也是不可估量的。

防SQL注入的例子

Asp程序

關(guān)于Asp程序防Sql注入,南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)建議:強(qiáng)制類(lèi)型轉(zhuǎn)換,下為過(guò)濾整個(gè)整形數(shù)據(jù)變量

nId = cint(request("id"))

sql = "select * from user where id=" + cstr(nId)

Asp.NET程序

利用參數(shù)方式查詢(xún)和SqlParameter參數(shù),來(lái)杜絕SQL 注入型式。

strUid = Request.QueryString["uid"].Trim();

strSql = "SELECT * FROM [users] WHERE [uid]=@uid";

sqlParameter = new SqlParameter("@uid", SqlDbType.VarChar);

sqlParameter.Value = strUid;

sqlCommand.Parameters.Add(sqlParameter);

sqlDataReader = sqlCommand.ExecuteReader();

strUid = Request.QueryString["uid"].Trim();

strSql = "SELECT * FROM [users] WHERE [uid]=@uid";

sqlCommand = new SqlCommand(strSql, sqlConnection);

sqlParameter = new SqlParameter("@uid", SqlDbType.VarChar);

sqlParameter.Value = strUid;

sqlCommand.Parameters.Add(sqlParameter);

sqlDataReader = sqlCommand.ExecuteReader();

strUid = Integer.Parse(Request.QueryString["uid"].Trim());

strSql = "SELECT * FROM [users] WHERE [uid]=@uid";

sqlCommand = new SqlCommand(strSql, sqlConnection);

sqlParameter = new SqlParameter("@uid", SqlDbType.Int);

sqlParameter.Value = strUid;

sqlCommand.Parameters.Add(sqlParameter);

sqlDataReader = sqlCommand.ExecuteReader();

Dim SSN as String = Request.QueryString("SSN")

Dim cmd As new SqlCommand("SELECT au_lname, au_fname FROM authors

WHERE au_id = @au_id")

Dim param = new SqlParameter("au_id", SqlDbType.VarChar)

param.Value = SSN

cmd.Parameters.Add(param)


400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開(kāi)百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專(zhuān)線 備案專(zhuān)線
 
×