线上项目黑客入侵记录

[2018-3更新]

黑客攻击时间

黑客最爱发起攻击时间是节假日和周末等开发人员放假休息的时候,这时候对黑客攻击的防范和处理都比较不及时。
黑客最常见攻击入口是网站注入攻击,攻击目的是非法读取、篡改、添加、删除数据库中的数据;比如篡改金钱相关的各种数值、下载用户信息、销毁数据等!

程序漏洞根源

WEB注入攻击产生的原因是对用户输入没有做注入过滤处理、不合理的数据库操作处理如没有使用参数化命令而是直接拼凑SQL语句等

应对攻击的解决方案

服务器防护措施:Nginx, Apache, IIS和系统访问等日志一定要开启,并且分段保存,否则一个文件十几G,很费时间。
数据备份防护措施:节假日增加数据库备份、源码备份的频率,以备随时从灾难中恢复生产。重要的数据表如用户表或资金表等可以额外增加备份频率。
代码防护措施:字符串长度验证和单引号等SQL符号进行转义、对接收的数值参数进行类型格式化、使用参数化SQL命令或存储过程、对应用异常信息给出尽可能少的提示、服务端处理数据校验。
数据内容防护措施:对机密信息不要明文存放
第三方防护措施:使用SQL注入工具进行网站漏洞检测、使用360网站安全检测等第三方服务进行网站漏洞检测
网站后台帐号登录安全措施:开启手机验证码功能、使用email或手机等作为用户名、禁止使用弱密码。(黑客经常尝试的后台用户名:admin, guanli, jiesuan, caiwu, adm, houtai, {域名}, {用户ID}, {APP名称})

开发注意事项

1. 与数据库交互的入口,要做好IP请求限制和数据缓存处理,比如黑客用for无限循环请求报表统计等数据库资源消耗很大的程序,一下子就把数据库拖垮了。
2. 黑客发现漏洞后,可能删除数据或者篡改数据,因此,资金表务必定时备份,否则发现数据被破坏,却没有还原点,就很惨了。
3. 日志文件可查阅,服务器日志文件一般存放在一个目录内,文件数量很容易膨胀到无法查询,因此,日志需按年/月/日/时+分类存放,SQL语句、资金相关接口、非法请求的日志要独立存放。
4. 数据表定时任务备份(db_backup.php)任务。
5. 汇总数据定时播报任务(notify.php),数据安全要做好重要数据信息的日志报告,比如用户资金增减排行榜报告、每个数据表增量统计报告,可以通过email、短信等发送给指定用户,也可以保存到服务器本地指定位置方便查阅。
6. 用户资金变动,要做好资金字段上下文日志记录,比如变动前资金多少,变动后资金多少,方便查证数据篡改,可以从变更日志中批量推断出用户某个时间点的具体真实数值。
7. 每个入口应该有个全局方法,可以单纯对用户输入的数据做一次注入检测,当检测到有注入攻击时,记录到日志中。
8. 对用户输入来源做好数据验证,比如表单提交、ip地址等,防止通过url注入或构造虚假IP注入攻击。

注入攻击检测代码

 

参考文章

SQL注入(SQL Injection)案例和防御方案
http://www.cnblogs.com/sochishun/p/6994918.html
PHP用户输入安全过滤
http://www.cnblogs.com/sochishun/p/8459562.html
XSS/CSRF跨站攻击和防护方案
http://www.cnblogs.com/sochishun/p/6993997.html
ddos攻击、cc攻击的攻击方式和防御方法
http://www.cnblogs.com/sochishun/p/7081739.html
网站常见的入侵手段和防御方法
http://www.cnblogs.com/sochishun/p/7007959.html

 

原文链接:https://www.cnblogs.com/sochishun/p/8639742.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/22517

(0)
上一篇 2023年11月30日 21:06
下一篇 2023年12月1日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml