首页 新闻 会员 周边 捐助

网站被攻击,需要怎么防止被黑啊

0
悬赏园豆:50 [待解决问题]

网站的新闻表被加入好多垃圾的信息,如什么黄赌毒等,而且一下子就可以加入上百条。我是刚入行的菜鸟,对网站维护方面不是很清楚,求大神帮忙

skywood的主页 skywood | 初学一级 | 园豆:164
提问于:2013-10-29 15:09
< >
分享
所有回答(5)
0

最常见的就是SQL注入攻击,现在有工具有扫描网站的注入漏洞,可以试试,

另外就是数据库入侵,也是通过程序注入sql,获取到数据的帐户,或者创建新的帐户,

还有域名劫持,LZ可以一个个去了解下,如何控制网站的安全性 

Zery | 园豆:6151 (大侠五级) | 2013-10-29 16:01

什么工具可以扫描网站的注入漏洞??

支持(0) 反对(0) skywood | 园豆:164 (初学一级) | 2013-10-29 16:31

@dota爱好者: 

工具网上太多了 http://tech.ddvip.com/2008-09/122170828466929.html

支持(0) 反对(0) Zery | 园豆:6151 (大侠五级) | 2013-10-29 16:58

@Zery-zhang: 

        #region 插入         public bool Insert()         {             //产生GUID             if (this.G_UID == null || this.G_UID.Trim() == "")             {                 G_UID = StringRule.MakeGuid();             }

            //用EntLib             Database db = DatabaseFactory.CreateDatabase(DACConst.ConnectionKeyEntLib);             //参数             int PostID = 0;             string storedProcedureName = "InsertContent";             DbCommand dbCommand = db.GetStoredProcCommand(storedProcedureName);             db.AddInParameter(dbCommand, "G_UID", DbType.String, G_UID);

            db.AddInParameter(dbCommand, "TID", DbType.Int32, TID);             db.AddInParameter(dbCommand, "TopicTID", DbType.Int32, TopicTID);             db.AddInParameter(dbCommand, "isPage", DbType.Int32, isPage);             db.AddInParameter(dbCommand, "Title", DbType.String, StringRule.GetSQLKeyWordString(Title));             db.AddInParameter(dbCommand, "TitlePic", DbType.String, TitlePic);

            db.AddInParameter(dbCommand, "TitleCss", DbType.String, TitleCss);             db.AddInParameter(dbCommand, "Intro", DbType.String, StringRule.GetSQLKeyWordString(Intro));             db.AddInParameter(dbCommand, "SortID", DbType.Int32, SortID);             db.AddInParameter(dbCommand, "Content", DbType.String, StringRule.GetSQLKeyWordString(Content));

            db.AddInParameter(dbCommand, "CommentCount", DbType.Int32, CommentCount);             db.AddInParameter(dbCommand, "PubTime", DbType.DateTime, PubTime);             db.AddInParameter(dbCommand, "ShowTime", DbType.String, ShowTime);             db.AddInParameter(dbCommand, "AllowShow", DbType.Int32, AllowShow);

            db.AddInParameter(dbCommand, "AllowComment", DbType.Int32, AllowComment);             db.AddInParameter(dbCommand, "promotion", DbType.Int32, promotion);             db.AddInParameter(dbCommand, "ViewCount", DbType.Int32, ViewCount);             db.AddInParameter(dbCommand, "AsUrl", DbType.Int32, AsUrl);             db.AddInParameter(dbCommand, "aUrl", DbType.String, aUrl);

            db.AddInParameter(dbCommand, "Inputter", DbType.String, StringRule.GetSQLKeyWordString(Inputter));             db.AddInParameter(dbCommand, "ContentType", DbType.String, StringRule.GetSafeSQLString(ContentType));             db.AddInParameter(dbCommand, "Culture", DbType.String, StringRule.GetSafeSQLString(Culture));             db.AddInParameter(dbCommand, "ifFirstPage", DbType.Int32, ifFirstPage);             db.AddInParameter(dbCommand, "maxifFirstPage", DbType.Int32, MaxifFirstPage);

            db.AddInParameter(dbCommand, "OnTop", DbType.Int32, OnTop);             db.AddInParameter(dbCommand, "TabMenuPic1", DbType.String, StringRule.GetSQLKeyWordString(TabMenuPic1));             db.AddInParameter(dbCommand, "TabMenuPic2", DbType.String, StringRule.GetSQLKeyWordString(TabMenuPic2));             db.AddInParameter(dbCommand, "ExpiredTime", DbType.String, ExpiredTime);

            db.AddInParameter(dbCommand, "SeoKeys", DbType.String, StringRule.GetSafeSQLString(SeoKeys));             db.AddInParameter(dbCommand, "SeoDescription", DbType.String, StringRule.GetSQLKeyWordString(SeoDescription));             db.AddOutParameter(dbCommand, "PostID", DbType.Int32, 4);             db.AddInParameter(dbCommand, "Tags", DbType.String, StringRule.GetSafeSQLString(Tags));             db.AddInParameter(dbCommand, "AdIndex", DbType.Int32, AdIndex);             db.AddInParameter(dbCommand, "Remark", DbType.String, StringRule.GetSafeSQLString(Remark));             db.ExecuteNonQuery(dbCommand);

            PostID = (int)db.GetParameterValue(dbCommand, "PostID");

            return PostID > 0;         }

我的新闻添加页没有用到SQL语句

支持(0) 反对(0) skywood | 园豆:164 (初学一级) | 2013-10-29 17:00

@dota爱好者: 

不能单从插入的代码看,很多时候是可以在URL多加参数,情况太多了,而且有时候自己并不知道是哪步出了问题,需要反复,细致的测试

支持(0) 反对(0) Zery | 园豆:6151 (大侠五级) | 2013-10-29 17:06

具体应该做些什么了

支持(0) 反对(0) skywood | 园豆:164 (初学一级) | 2013-10-30 11:40

@dota爱好者: 

楼下说了这几种

1、先修改数据库密码,管理员密码等,防止继续被工具。

2、检查日志记录,看访问记录(如果有),确定下攻击方式;

3、检查代码:SQL注入,弱密码等~

都是要注意的,另外了解SQL注入原理,知道了原理你才能知道怎么去防止SQL注入

支持(0) 反对(0) Zery | 园豆:6151 (大侠五级) | 2013-10-30 11:48
1

典型的sql注入,执行sql不要用拼接,要用参数化

sixserve | 园豆:21 (初学一级) | 2013-10-29 16:15
1

1、先修改数据库密码,管理员密码等,防止继续被工具。

2、检查日志记录,看访问记录(如果有),确定下攻击方式;

3、检查代码:SQL注入,弱密码等~

幻天芒 | 园豆:37205 (高人七级) | 2013-10-29 20:03

第一条都修改了

你说的第二条,怎么查看日志记录

支持(0) 反对(0) skywood | 园豆:164 (初学一级) | 2013-10-30 11:38

@dota爱好者: 第二个是首先是程序的访问日志,然后是操作系统的日志。

支持(0) 反对(0) 幻天芒 | 园豆:37205 (高人七级) | 2013-10-30 19:57
0

一般是开发的问题,如果你不会编程的话,那就麻烦了。

angelshelter | 园豆:9907 (大侠五级) | 2013-10-29 21:10

编程会点,可是是刚入行的菜鸟,对网站维护不懂

支持(0) 反对(0) skywood | 园豆:164 (初学一级) | 2013-10-30 11:39
0
滴答的雨 | 园豆:3660 (老鸟四级) | 2013-10-30 01:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册