日期:2014-05-18  浏览次数:20377 次

又被黑了,请教.net+SQLSERVER的安全防范问题

      网站的作品投票,一个不注意就被人刷了2000多票。现在加了个投票前需要输入验证码,暂时还不知道有没有用

      今天一看,居然更惨,查看了一下数据库表内的值,作品图片被删掉,作品介绍部分被替换为一个外部连接的图片。

      最郁闷的是,现在都搞不清楚是哪里出了问题。

      服务器用的是E动的虚拟主机,应该不是服务器安全上的事

      系统日志log文件我看的眼花,也不知道怎么查线索

      网站丢了管理员密码?或是被SQL攻击?

      我现在天天被整的睡不好觉,一醒就发现网站又被修改了

      我还很菜,也不知道该怎么检查自己的网站,该怎么做防范工作

      请教各位前辈

      希望能在有空的时候帮帮我这个初学者

      哪怕给指点下方向也好。谢谢谢谢

------解决方案--------------------
帮你顶一下吧

我刚接触.NET和SQL SERVER 还没有接触到安全的考虑
------解决方案--------------------
这应该不是病毒,所以还是程序质量的问题。哎,。。。。。。
------解决方案--------------------
我也没办法啊
。同情了
------解决方案--------------------
程序逻辑问题吧...
或者是SQL注入?
------解决方案--------------------
应该是SQL注入,检查一下你的SQL语句有没有把变量过滤掉危险字符,如: ',--,chr这些,一般来说在查询前做一次详细的检查会很有效的解决被注入的问题.
------解决方案--------------------
有很大的可能是SQL注入

你是否加了SQL语句验证。
------解决方案--------------------
应该是SQL注入问题!如果是JAVA的话有N种办法,.net你只有加SQL验证和过滤
------解决方案--------------------
.net 的话最好使用 SqlParameter 类来进行参数的传输
一般应该没问题的。大家怎么看
------解决方案--------------------
sql注入攻击
------解决方案--------------------
注入攻击和定时插入数据的攻击都有可能,而且我估计前几次都是定时插入数据的攻击,看到你加了验证码后开始注入攻击。

确实是程序质量问题,他没删你的核心数据已经够客气了。

另外 楼上的兄弟,加输入限制只用来限制不进行攻击的人,呵呵。
------解决方案--------------------
写个javascript 屏蔽威胁字符
------解决方案--------------------
先通过IIS日志查看一下是通过什么方式来攻击的,然后才好确定安全措施。
------解决方案--------------------
用SqlParameter,不要直接拼SQL语句
------解决方案--------------------
投票被刷这个没什么好的解决办法,偶上次做的是用cookie判断,但是还是被刷,如果叫别人注册才能投票,偶想没得几个人会注册,投票时输入验证码这方法还可以但还是会被无聊的人刷,首页被改可能是你上传的目录被别人传asp木马了吧,最好设置上传目录只有只读权限,并不能执行asp网页,你的传品上传时要验证上传的文件名,最好上传后的东东要管理员证认后才能显示。还有你如果用sql做数据库的话,看看你的代码是否会被注入!
------解决方案--------------------
由于楼主没给网站,大致推测:
1. "网站的作品投票,一个不注意就被人刷了2000多票。现在加了个投票前需要输入验证码,暂时还不知道有没有用 "---------“验证码”和 '刷 '票没看出有什么必然联系!有可能是脚本注入,比如:禁用javascript,然后在转向连接里面写入2000,然后你request后插入等......


2. " 今天一看,居然更惨,查看了一下数据库表内的值,作品图片被删掉,作品介绍部分被替换为一个外部连接的图片。 "----------那肯定是拿到服务器权限了!


------解决方案--------------------
啥叫JAVA有N种方法...

网上N个JSP做的网站,用个 ' OR 1=1 就搞定了

这个还和语言扯上什么关系了?

不管你用什么东西做,把底层封装一下,用SQL参数,就根本没有SQL注入的问题了
------解决方案--------------------
估计是被SQL注入了
哈哈,不要在程序里面写拼接SQL了,还是多写的存储过程吧
------解决方案--------------------
用存储过程 应该比较安全一些
------解决方案--------------------