当前位置: 移动技术网 > IT编程>开发语言>.net > Aspx/Asp.net 防注入程序 V1.0

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

北师大版六年级数学下册教案,clevo x7200多少钱,熊晓鸽点评创业

虽然说asp.net属于安全性高的脚本语言,但是也经常看到asp.net网站由于过滤不严造成注射.由于asp.net基本上配合mmsql数据库架设 如果权限过大的话很容易被攻击. 再者在网络上找不到好的asp.net防注射脚本,所以就自己写了个. 在这里共享出来旨在让程序员免除sql注入的困扰.
我写了两个版本,vb.net和c#版本方便不同程序间使用.
描述:
1. xp + iis5.1 + access + mssql2000 下测试通过。
2. 由于考虑到aspx大多数和mssql数据库配合使用,在此增加了mssql关键字。
3. 放到数据库连接代码处即可,和asp用法类似。
复制代码 代码如下:

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#版本 )站长网提示您,请勿提交非法字符!↓\\n\\nbloghttp://www.safe5.com [url=file://\\n\\nby]\\n\\nby[/url]:jack');</" + "script>");
response.write("非法操作!系统做了如下记录 ↓" + "<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("操 作 时 间:" + datetime.now.tostring() + "<br>");
response.write("操 作 页 面:" + page.request.servervariables["url"] + "<br>");
response.write("提 交 方 式:p o s t " + "<br>");
response.write("提 交 参 数:" + jk + "<br>");
response.write("提 交 数 据:" + 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#版本 )站长安全网提示您,请勿提交非法字符!↓\\n\\nbloghttp://www.safe5.com [url=file://\\n\\nby]\\n\\nby[/url]:jack');</" + "script>");
response.write("非法操作!系统做了如下记录 ↓" + "<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("操 作 时 间:" + datetime.now.tostring() + "<br>");
response.write("操 作 页 面:" + page.request.servervariables["url"] + "<br>");
response.write("提 交 方 式:g e t " + "<br>");
response.write("提 交 参 数:" + jk + "<br>");
response.write("提 交 数 据:" + 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#版本 )站长安全网提示您,请勿提交非法字符!↓\\n\\nbloghttp://www.safe5.com [url=file://\\n\\nby]\\n\\nby[/url]:jack');</" + "script>");
response.write("非法操作!系统做了如下记录 ↓" + "<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("操 作 时 间:" + datetime.now.tostring() + "<br>");
response.write("操 作 页 面:" + page.request.servervariables["url"] + "<br>");
response.write("提 交 方 式: cookies " + "<br>");
response.write("提 交 参 数:" + jk + "<br>");
response.write("提 交 数 据:" + page.request.cookies[getsqlkey].value.tolower() + "<br>");
response.end();
}
}
}
}
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网