caoporm97国产在线视频|欧美性XXXXX精品|一本一道久久a久久精品综合开|精品久久久久久久久久久AⅤ|

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

百恒網(wǎng)絡

南昌百恒網(wǎng)絡

防Sql注入專業(yè)知識--sql注入的危害及防治

百恒網(wǎng)絡 2012-01-06 5140

Web SQL注入攻擊的危害性

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

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

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

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

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

隱蔽性強

利用Web漏洞發(fā)起對WEB應用的攻擊紛繁復雜,包括SQL 注入,跨站腳本攻擊等等,一個共同特點是隱蔽性強,不易發(fā)覺,因為一方面普通網(wǎng)絡防火墻是對HTTP/HTTPS全開放的,另一方面,對Web應用攻擊的變化非常多,傳統(tǒng)的基于

特征檢測的IDS對此類攻擊幾乎沒有作用。

攻擊時間短

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

危害性大

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

非常嚴重的有形和無形損失

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

防SQL注入的例子

Asp程序

關于Asp程序防Sql注入,南昌網(wǎng)絡公司百恒網(wǎng)絡建議:強制類型轉換,下為過濾整個整形數(shù)據(jù)變量

nId = cint(request("id"))

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

Asp.NET程序

利用參數(shù)方式查詢和SqlParameter參數(shù),來杜絕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
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡小程序

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×