设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 117|回复: 9
打印 上一主题 下一主题

SQL注入

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-11 04:51:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做的网站让人把SQL数据库文章内容的表的内容全改成了病毒代码了,,请问这是怎么回事啊?因为我的网站上面有三四百的文章内容,,,如果说是入侵人手动在后台里面一条一条修改应该是不可能的吧...是病毒还是SQL注入问题啊?我的网站存在那些漏洞呢?悲惨的教训.....
2#
发表于 2010-1-11 04:51:18 | 只看该作者
呵呵,吸取教训,再接再励
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-11 04:51:22 | 只看该作者
后台都要写在bottom下面的啊,所以再隐藏也是没用呀,防注的,我刚刚加了,,,用二楼提供的软件检测了一下,检测不出来,,在没有加防注的时候能检测得出来...

只是现在的隐患就是后台的链接问题,,,那个是必须要把他显示在前台,,客户才懂得进入管理的,,,这个有什么方法可以做得安全呢?
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-11 04:51:26 | 只看该作者
如果是SQL注入的话建议下载一个SQL注入检测工具对网站进行注入点扫描。
推荐工具:百度搜索"桂林老兵SQL注入”或者"Webpecker"检测网站是否存在注入点。
还有就是在conn.asp或数据路连接网页中加入防注入代码。
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-11 04:51:30 | 只看该作者
以下是引用linjirongll在2009-8-12 16:36的发言:后台都要写在bottom下面的啊,所以再隐藏也是没用呀,防注的,我刚刚加了,,,用二楼提供的软件检测了一下,检测不出来,,在没有加防注的时候能检测得出来...只是现在的隐患就是后台的链接问题,,,那个是必须要把他显示在前 ...
你的后台管理页面都不判断权限吗?如果判断权限是怎么判断的?
回复 支持 反对

使用道具 举报

6#
发表于 2010-1-11 04:51:34 | 只看该作者
回复 支持 反对

使用道具 举报

7#
发表于 2010-1-11 04:51:38 | 只看该作者
这种情况完全是通过注入来批量挂马的,其实你网站并没有中毒,而是通过注入漏洞把一段代码插入到新闻所有文章的内容中,要么在文章的最前面,要么在文章的最后面,你可以通过写SQL语句批量过滤该代码来清除数据库中插入的代码,asp网站首先要把防注入放在首位,否则你这个网站就不要拿出来了
回复 支持 反对

使用道具 举报

8#
发表于 2010-1-11 04:51:42 | 只看该作者
把你后台地址设复杂点!密码最好用字母加数字,然后再进行加密!
再就像2楼所说那样,在CONN里加防注入。然后再用软件测试一下。这一套下来如果没有问题的话,应该就好多了!
给你一个我常用的
conn.asp
<!--#include file="sql.asp"-->
<%
call CheckSql()
set conn=server.CreateObject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("new/db/sxzx-net.asp")
conn.open connstr
%>

sql.asp

<%
Function CheckSql() '防止SQL注入
    Dim sql_injdata   
    SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|=|_|‘|~"  
    SQL_inj = split(SQL_Injdata,"|")  
    If Request.QueryString<>"" Then  
        For Each SQL_Get In Request.QueryString  
            For SQL_Data=0 To Ubound(SQL_inj)  
                if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then  
                    Response.Write "<Script Language='javascript'>{alert('请不要在参数中包含非法字符!');}</Script>"  
Response.Write "本站有服务不到位的地方,请多提建议!如果你糊来小心我掐死你↓<br><br>"  
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br><br>"  
Response.Write "操作时间:"&Now&"<br><br>"  
Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br><br>"  
Response.Write "提交方式:Get<br><br>"  
Response.Write "提交参数:"&SQL_Get&"<br><br>"  
Response.Write "提交数据:"&Request.QueryString(SQL_Get)  
response.Write "<meta http-equiv='refresh' content='3;url=/'>"
                    Response.end  
                end if  
            next  
        Next  
    End If
     
    '**************************************************
     
    If Request.Form<>"" Then  
       For Each Sql_Post In Request.Form  
            For SQL_Data=0 To Ubound(SQL_inj)  
                if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then  
                    Response.Write "<Script Language='javascript'>alert('请不要在参数中包含非法字符!');</Script>"  
Response.Write "本站有服务不到位的地方,请多提建议!如果你糊来小心我掐死你↓<br><br>"  
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br><br>"  
Response.Write "操作时间:"&Now&"<br><br>"  
Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br><br>"  
Response.Write "提交方式:Post<br><br>"  
Response.Write "提交参数:"&SQL_Get&"<br><br>"  
Response.Write "提交数据:"&Request.Form(SQL_post)  
response.Write "<meta http-equiv='refresh' content='3;url=/'>"
                    Response.end  
                end if  
            next  
        next  
    end if
End Function

%>
回复 支持 反对

使用道具 举报

9#
发表于 2010-1-11 04:51:46 | 只看该作者
是用什么做后台数据库?
是自己的服务器吗?
密码要设置复杂点。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 15:25 , Processed in 0.093530 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表