网站的新闻表被加入好多垃圾的信息,如什么黄赌毒等,而且一下子就可以加入上百条。我是刚入行的菜鸟,对网站维护方面不是很清楚,求大神帮忙
最常见的就是SQL注入攻击,现在有工具有扫描网站的注入漏洞,可以试试,
另外就是数据库入侵,也是通过程序注入sql,获取到数据的帐户,或者创建新的帐户,
还有域名劫持,LZ可以一个个去了解下,如何控制网站的安全性
什么工具可以扫描网站的注入漏洞??
@dota爱好者:
工具网上太多了 http://tech.ddvip.com/2008-09/122170828466929.html
@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语句
@dota爱好者:
不能单从插入的代码看,很多时候是可以在URL多加参数,情况太多了,而且有时候自己并不知道是哪步出了问题,需要反复,细致的测试
具体应该做些什么了
@dota爱好者:
楼下说了这几种
1、先修改数据库密码,管理员密码等,防止继续被工具。
2、检查日志记录,看访问记录(如果有),确定下攻击方式;
3、检查代码:SQL注入,弱密码等~
都是要注意的,另外了解SQL注入原理,知道了原理你才能知道怎么去防止SQL注入
典型的sql注入,执行sql不要用拼接,要用参数化
1、先修改数据库密码,管理员密码等,防止继续被工具。
2、检查日志记录,看访问记录(如果有),确定下攻击方式;
3、检查代码:SQL注入,弱密码等~
第一条都修改了
你说的第二条,怎么查看日志记录
@dota爱好者: 第二个是首先是程序的访问日志,然后是操作系统的日志。
一般是开发的问题,如果你不会编程的话,那就麻烦了。
编程会点,可是是刚入行的菜鸟,对网站维护不懂