程序员和黑客有种天生地说不完道不尽的恩怨纠缠,很多计数很高超的黑客同时也都是技术高超的程序员,但是大多数程序员却在同黑客做着生死抗争,特别是编写在公网上运行的业务系统的程序员,更是步步小心.但是与黑客相比,程序员的制肘更多一些,黑客往往只需要一个漏洞就可以逍遥了,但是程序员却要步提防,因为一个小漏洞就可能让自己陷入麻烦.程序是一个有机的整体,并不是所有的代码都无懈可击了的时候就能高枕无忧了,很多时候看来安全的系统却是到处都是口子,我们来看一个例子.
        系统A,是一个在线的交易系统,里面有用户注册功能,但是因为用户常常忘记自己的密码,所以提供了一个密码找回的功能.这里因为系统A使用的严格测试过的ORM的DataMapping组件,所以不存在任何注入的问题,所以用SQL注入看来是没戏了,但是这样子就安全了吗?所以程序员Z同学又在找回密码的地方作了很多加强安全性的处理,但是用户都有不好的习惯,因为嫌麻烦,很多时候用户的找回密码提示和答案都是一样的,Ctrl C,Ctrl V比较快嘛。所以在这里他首先是对IP进行限制,一个IP在30秒内只能请求3次,然后是账号每个帐户在找回密码的时候只能输错3次验证码,如果超过3次就提醒用户你的帐户今天不能再找回了,已经被冻结了,请明天再试。现在看起来这个系统真的是固若金汤了吧。
        其实安全就素那浮云一般,真的安全就是关掉服务器 。我们来看黑客H同学是如何简突破系统的,首先黑客H同学是菜鸟黑客,只会使用朔雪等,他在系统A有帐号,在找回密码的页面随便输入了一些东西后,他拿出工具开始写脚本。首先他要工具不停的根据字典请求字典上的用户名去找回密码,验证码随便输因为那个已经不重要的,他设定每个用户名只请求4次,然后分析回馈的结果HTML,如果找到“你的帐户今天不能再找回了”的字符串就把这个请求的用户名记录下来,因为这表明这个用户已经是在系统中存在的用户名。然后H同学就把这个工具放到了师傅送他的几个肉鸡上,然后就在等待结果了。
         第二天,H同学打开自己邮箱查看战果,这个时候工具已经找到了一千多个账号了,由于无法突破验证码,于是他决定手工来做,用已经找到的用户名,答案直接用找回密码提示,这样子经过一下午的努力,H同学获取到了80多个帐户的密码,每个帐户每月的消费限额是200元,这样子,经过2天的努力,菜鸟黑客H同学就获利1600元了。
         这里除了H同学是虚构的外,整个事件是真实案例改编,H同学的行为是通过分析IIS日志推导出的。
         这里提醒各位,很多时候不要光把眼光局限在代码本身,代码外的业务逻辑上如果有了漏洞也是非常的致命的。

转载于:https://www.cnblogs.com/Alexander-Lee/archive/2007/03/22/683526.html

编写安全的代码-程序员头顶的达摩克利斯之剑相关推荐

  1. 低代码:传统软件厂商达摩克利斯之剑吗?

    引言 近年来,得益于资本大量涌入,互联网大厂纷纷入局低代码,低代码技术发展迅猛,互联网大厂利用低代码的优势切入传统的企业服务市场,对传统的软件厂商造成不小的市场压力.传统软件厂商该如何应对? 低代码发 ...

  2. HTML5七夕情人节表白网页(抖音-流动爱心表白)HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 爱心表白网页

    HTML5七夕情人节表白网页❤抖音-流动爱心表白❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 爱心表白网页 这是程序员表白 ...

  3. HTML5七夕情人节表白网页(流星动画3D相册) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤流星动画3D相册❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白 这是 ...

  4. HTML5七夕情人节表白网页(星空萤火虫) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页(星空萤火虫) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白 这是程序员 ...

  5. HTML5七夕情人节表白网页(雪花爱心表白) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤雪花爱心❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白 这是程序员表 ...

  6. HTML5七夕情人节表白网页(抖音超火3D炫酷魔方) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤抖音超火❤3D炫酷魔方❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序 ...

  7. HTML5七夕情人节表白网页_生日快乐粒子烟花(自定义文字)_ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码

    HTML5七夕情人节表白网页❤生日快乐粒子烟花(自定义文字)❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css ...

  8. HTML5七夕情人节表白网页(抖音-罗盘时钟) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤抖音罗盘时钟❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序员表白系列 ...

  9. HTML5七夕情人节表白网页(结婚倒计时) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤结婚倒计时❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序员表白 ...

最新文章

  1. c++面对对象设计 2
  2. RMAN备份及恢复归档日志的语法
  3. 频率概率与贝叶斯概率
  4. java volatile详解,互联网 面试官 如何面试
  5. JFreeChart学习示例
  6. 量子电动力学和量子场论,多体系统的量子场论
  7. VsCode切换语言
  8. 知名互联网公司系统架构图
  9. delphi 水晶按钮
  10. 操作系统为什么需要驱动? 驱动程序是什么?为什么有的硬件“免驱”?
  11. 衣服不管染上什么,用这招都能洗掉!99%的人不知道!
  12. todesk无法连接网络
  13. 危机管理应遵循哪些原则?
  14. 重大问题,Windows11出现重大BUG(开始菜单掉帧,卡顿)
  15. 移动设备管理(MDM)与OMA OTA DM协议向导(四)——GSM 系统
  16. 音特电子EMC测试与整改服务实验室
  17. 网络教育计算机专业本科毕业自我评价,远程网络教育毕业生的自我评价
  18. 2018全国poi数据下载统计
  19. 自己做在线HTML编辑器,#6 从零开始制作在线 代码编辑器
  20. Klocwork软件下载安装使用试用

热门文章

  1. 看完上汽制动的数字化,才发现以前的数据可视化大屏都白做了
  2. 案例学习BlazeDS+Spring之四InSync02使用RemoteObject事件
  3. as3 primitives
  4. 数学分析笔记—python基础语法
  5. 利用Numpy提取+处理数据
  6. idft重建图像 matlab_不可见成为可见!超材料和 AI 融合,洛桑联邦理工破译了声音图像...
  7. 贪心算法的python实现
  8. python中reshape_python numpy reshape用法及代码示例
  9. 合数分解1(C语言)
  10. uv4:you are not logged in as an administrator