最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Aspx/Asp.net 防注入程序 V1.0

 更新時(shí)間:2009年10月03日 01:51:33   作者:  
asp下有人寫了防注入的程序,這次看到了一個(gè)asp.net的特提供給大家參考。
雖然說ASP.NET屬于安全性高的腳本語言,但是也經(jīng)常看到ASP.NET網(wǎng)站由于過濾不嚴(yán)造成注射.由于ASP.NET基本上配合MMSQL數(shù)據(jù)庫架設(shè) 如果權(quán)限過大的話很容易被攻擊. 再者在網(wǎng)絡(luò)上找不到好的ASP.NET防注射腳本,所以就自己寫了個(gè). 在這里共享出來旨在讓程序員免除SQL注入的困擾.
我寫了兩個(gè)版本,VB.NET和C#版本方便不同程序間使用.
描述:
1. XP + IIS5.1 + Access + MSSQL2000 下測試通過。
2. 由于考慮到ASPX大多數(shù)和MSSQL數(shù)據(jù)庫配合使用,在此增加了MSSQL關(guān)鍵字。
3. 放到數(shù)據(jù)庫連接代碼處即可,和ASP用法類似。
復(fù)制代碼 代碼如下:

public void JK1986_CheckSql()
{
string jk1986_sql = "exec夢select夢drop夢alter夢exists夢union夢and夢or夢xor夢order夢mid夢asc夢execute夢xp_cmdshell夢insert夢update夢delete夢join夢declare夢char夢sp_oacreate夢wscript.shell夢xp_regwrite夢'夢;夢--夢%";
string[] jk_sql = jk1986_sql.Split('夢');
foreach (string jk in jk_sql)
{
// -----------------------防 Post 注入-----------------------
if (Page.Request.Form != null)
{
for (int k = 0; k < Page.Request.Form.Count; k++)
{
string getsqlkey = Page.Request.Form.Keys[k];
string getip;
if (Page.Request.Form[getsqlkey].ToLower().Contains(jk) == true)
{
Response.Write("<script Language=JavaScript>alert('ASP.NET( C#版本 )站長網(wǎng)提示您,請勿提交非法字符!↓\\n\\nBloghttp://www.safe5.com [url=file://\\n\\nBy]\\n\\nBy[/url]:Jack');</" + "script>");
Response.Write("非法操作!系統(tǒng)做了如下記錄 ↓" + "<br>");
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null )
{
getip = this.Page.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
else
{
getip = Page.Request.ServerVariables["REMOTE_ADDR"];
}
Response.Write("操 作 I P :" + getip + "<br>");
Response.Write("操 作 時(shí) 間:" + DateTime.Now.ToString() + "<br>");
Response.Write("操 作 頁 面:" + Page.Request.ServerVariables["URL"] + "<br>");
Response.Write("提 交 方 式:P O S T " + "<br>");
Response.Write("提 交 參 數(shù):" + jk + "<br>");
Response.Write("提 交 數(shù) 據(jù):" + Page.Request.Form[getsqlkey].ToLower() + "<br>");
Response.End();
}
}
}
// -----------------------防 GET 注入-----------------------
if (Page.Request.QueryString != null)
{
for (int k = 0; k < Page.Request.QueryString.Count; k++)
{
string getsqlkey = Page.Request.QueryString.Keys[k];
string getip;
if (Page.Request.QueryString[getsqlkey].ToLower().Contains(jk) == true)
{
Response.Write("<script Language=JavaScript>alert('ASP.NET( C#版本 )站長安全網(wǎng)提示您,請勿提交非法字符!↓\\n\\nBloghttp://www.safe5.com [url=file://\\n\\nBy]\\n\\nBy[/url]:Jack');</" + "script>");
Response.Write("非法操作!系統(tǒng)做了如下記錄 ↓" + "<br>");
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null )
{
getip = this.Page.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
else
{
getip = Page.Request.ServerVariables["REMOTE_ADDR"];
}
Response.Write("操 作 I P :" + getip + "<br>");
Response.Write("操 作 時(shí) 間:" + DateTime.Now.ToString() + "<br>");
Response.Write("操 作 頁 面:" + Page.Request.ServerVariables["URL"] + "<br>");
Response.Write("提 交 方 式:G E T " + "<br>");
Response.Write("提 交 參 數(shù):" + jk + "<br>");
Response.Write("提 交 數(shù) 據(jù):" + Page.Request.QueryString[getsqlkey].ToLower() + "<br>");
Response.End();
}
}
}
// -----------------------防 Cookies 注入-----------------------
if (Page.Request.Cookies != null)
{
for (int k = 0; k < Page.Request.Cookies.Count; k++)
{
string getsqlkey = Page.Request.Cookies.Keys[k];
string getip;
if (Page.Request.Cookies[getsqlkey].Value.ToLower().Contains(jk) == true)
{
Response.Write("<script Language=JavaScript>alert('ASP.NET( C#版本 )站長安全網(wǎng)提示您,請勿提交非法字符!↓\\n\\nBloghttp://www.safe5.com [url=file://\\n\\nBy]\\n\\nBy[/url]:Jack');</" + "script>");
Response.Write("非法操作!系統(tǒng)做了如下記錄 ↓" + "<br>");
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null )
{
getip = this.Page.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
else
{
getip = Page.Request.ServerVariables["REMOTE_ADDR"];
}
Response.Write("操 作 I P :" + getip + "<br>");
Response.Write("操 作 時(shí) 間:" + DateTime.Now.ToString() + "<br>");
Response.Write("操 作 頁 面:" + Page.Request.ServerVariables["URL"] + "<br>");
Response.Write("提 交 方 式: Cookies " + "<br>");
Response.Write("提 交 參 數(shù):" + jk + "<br>");
Response.Write("提 交 數(shù) 據(jù):" + Page.Request.Cookies[getsqlkey].Value.ToLower() + "<br>");
Response.End();
}
}
}
}
}

相關(guān)文章

  • .NET中間件與VUE攔截器聯(lián)合使用詳情

    .NET中間件與VUE攔截器聯(lián)合使用詳情

    這篇文章主要介紹了.NET中間件與VUE攔截器聯(lián)合使用詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • ASP.NET Core針對一個(gè)使用HttpClient對象的類編寫單元測試詳解

    ASP.NET Core針對一個(gè)使用HttpClient對象的類編寫單元測試詳解

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何針對一個(gè)使用HttpClient對象的類編寫單元測試的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • asp.net中virtual和abstract的區(qū)別分析

    asp.net中virtual和abstract的區(qū)別分析

    這篇文章主要介紹了asp.net中virtual和abstract的區(qū)別,較為詳細(xì)的分析了virtual與abstract的概念與具體用法,并以實(shí)例的形式予以總結(jié)歸納,需要的朋友可以參考下
    2014-10-10
  • .NET中的DES對稱加密詳解

    .NET中的DES對稱加密詳解

    DES是一種對稱加密(Data Encryption Standard)算法,于1977年得到的正式許可,是一種用56位密鑰來加密64位數(shù)據(jù)的方法,一般密碼長度為8個(gè)字節(jié),其中56位加密密鑰,每個(gè)第8位都用作奇偶校驗(yàn)
    2013-10-10
  • ASP.NET MVC的四種驗(yàn)證編程方式

    ASP.NET MVC的四種驗(yàn)證編程方式

    ASP.NET MVC采用Model綁定為目標(biāo)Action生成了相應(yīng)的參數(shù)列表,但是在真正執(zhí)行目標(biāo)Action方法之前,還需要對綁定的參數(shù)實(shí)施驗(yàn)證以確保其有效性,我們將針對參數(shù)的驗(yàn)證成為Model綁定,需要的朋友可以參考下
    2015-10-10
  • 后綴為 ashx 與 axd 的文件區(qū)別淺析

    后綴為 ashx 與 axd 的文件區(qū)別淺析

    其實(shí)擴(kuò)展名為ashx與為axd基本上是一樣的,都是用于寫web handler,可以通過它來調(diào)用IHttpHandler類,它免去了普通.aspx頁面的控件解析以及頁面處理的過程。
    2013-07-07
  • asp.net獲取網(wǎng)站絕對路徑示例

    asp.net獲取網(wǎng)站絕對路徑示例

    在編寫 ASP.NET 應(yīng)用程序的時(shí)候,有時(shí)為了更好地進(jìn)行控制靜態(tài)文件的路徑,如在模板頁或者用戶控件中設(shè)置js或者css文件的路徑等,采用絕對路徑是難免的。下面就是幾種獲取絕對路徑的幾種方法
    2014-02-02
  • ASP.NET?Core?使用SignalR推送服務(wù)器日志的過程記錄

    ASP.NET?Core?使用SignalR推送服務(wù)器日志的過程記錄

    這篇文章主要介紹了ASP.NET?Core?使用SignalR推送服務(wù)器日志的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • Asp.net中把Excel數(shù)據(jù)存儲(chǔ)至SQL Server中的具體實(shí)現(xiàn)方法

    Asp.net中把Excel數(shù)據(jù)存儲(chǔ)至SQL Server中的具體實(shí)現(xiàn)方法

    Asp.net中把Excel數(shù)據(jù)存儲(chǔ)至SQL Server中的具體實(shí)現(xiàn)方法,需要的朋友可以參考一下
    2013-06-06
  • 微軟發(fā)布的Data Access Application Block的使用代碼

    微軟發(fā)布的Data Access Application Block的使用代碼

    微軟發(fā)布的Data Access Application Block的使用代碼...
    2007-04-04

最新評論

丽江市| 达尔| 讷河市| 武陟县| 马边| 青铜峡市| 瓮安县| 唐河县| 武平县| 广饶县| 黔东| 岑溪市| 贵南县| 凌云县| 通许县| 修水县| 察隅县| 缙云县| 富民县| 巴林左旗| 玉环县| 泸溪县| 德令哈市| 夏河县| 通化市| 兴国县| 邵武市| 化州市| 耒阳市| 元氏县| 南京市| 大埔区| 额济纳旗| 锡林郭勒盟| 孙吴县| 京山县| 广宗县| 武川县| 乡宁县| 奉化市| 富锦市|