第n帝国吧 关注:1,273贴子:6,609
  • 5回复贴,共1

【科研组】第n帝国信息安全系列教材

只看楼主收藏回复

第n帝国信息安全系列教材
科研组 G3D 编写+整理
转载请标明出处


1楼2013-08-27 19:59回复
    序:写在前面的话
    信息安全是一个很广泛 而且看似神秘的话题 就目前而言可以非常概念化的分为三个方面
    网络安全. 软件安全. 还有实体安全.
    信息安全学科的目的就是为了保障任何具有价值的私有信息 不会遭到泄露
    我们这里仅从实际出发进行简单的描述.
    一 黑盒&白盒测试 及其手段
    测试 是信息安全的最基本话题 实践是检验真理的唯一标准.
    顾名思义. 我们这里把一个系统看做一个盒子.
    如果你是进行白盒测试的人员 那么你需要和这个系统内部的人员一起吃饭工作休息.
    而且他们的一切工作方式 资料都是向你公开的. 白盒测试涉及的方面特别广
    简单说 就是从开发者或者所有者视角进行测试. 目的是很宽泛的修补任何可能存在的漏洞.
    而黑盒测试又如何呢?
    黑盒测试 是从攻击者视角 也就是模拟一次完全可能发生的外部攻击
    在这个过程中任何系统内部的情况都是不可知的. 和实际情况完全一致.
    而且白盒测试是不需要考虑到系统维护人员的存在的.
    但是黑盒测试就更加考验运维团队的响应能力 以及这个系统的运转效率
    如果说白盒测试倾向于具有开发功底的人. 那么黑盒测试更加侧重于思路和技巧.
    二 安全的本质话题
    最近无论是普通的综合性技术组织 或者是一切看起来专研信息安全的论坛.
    都充斥着一种言论:黑客? 安全专家? 你得先学C语言 然后掌握编程基础
    然后学指针 接触基本的算法类似于排序冒泡. 再学高级语言
    个人完全不敢苟同. 无论是从哪个角度来看
    除非是一心一意专注于软件工程的学习者. 否则这条所谓道路完全就是误人子弟
    那么 有人会问. 他们总是说不懂代码的就是脚本小子 永远只能用别人的工具
    其实我想说 代码不等于C语言也不等于其他任何一项高级语言
    这里就要谈到我理解的安全的本质了.
    安全的本质. 是合法的功能被进行了非法的利用. 说白了 就叫钻空子.
    小说看多了的人会以为大神们都是飞速敲击键盘打出代码然后完成了一次入侵.
    事实正好相反. 我们从来不提倡正面进攻. 如果正面已经是一个顽固的堡垒
    那为什么你要浪费宝贵的资源在这里呢? 除非是完全狭义的攻击 比如DDOS
    这里之后会谈到 DDOS属于纯粹意义上的资源耗尽攻击.
    三 新学习者的常见问题及浅解
    1 问:学习安全是不是一定要非常熟悉C语言 懂得各种编程 会写自己的工具
    答:很多时候不是这样的. 在我看来 对于个人来说
    最理想的境界 是能够结合注释看懂他人的代码
    了解详细的思路 在适当的时候编写一款能够解决当下的问题的小工具 就足够了
    现在针对某一种特定漏洞的利用工具 都属于这类工具.
    因为无论是参照owasp还是其他的标准. 都有一些相当优秀的
    工具值得我们去掌握和熟练. 这也属于一种基本能力.
    而且 成熟的安全工具的开发往往需要一个好的团队的支持 他们会进行多次debug
    最终在多次测试和校准后 一款工具才能够真正被认可.
    2 问:黑客是不是很神秘 很厉害. 有自己的圈子难以接触
    答:我曾经在技术宅贴吧看到一些所谓黑客自白的帖子. 说得好听些 叫宣传精神
    结交伙伴. 说难听些 叫装X. 他们特别善于把一些技术名词神秘化 高级化
    不仅仅误导新人. 其目的仅仅是为了自身的虚荣心.
    引用一位t00ls大神的话. 现在关于安全的资料早已烂大街了. 一般他们的标题
    是渗透测试教程. 或者黑客攻防. 你很容易找到. 但很多时候很多人只是留个
    邮箱 收到了 就以为自己是抱着武林秘籍的侠客 天下无敌.
    一切在于自己主动的学习 请不要归咎于客观的条件.
    3 问:国内有哪些好的信息安全论坛和学习资料.
    答:这个不好说 每个人都有自己的看法
    个人推荐freebuf. T00ls. 90sec. 当然软件安全还是首推看雪
    说到资料. 这个太多了 2当中已经有了我观点的阐述.
    不过从纯粹进阶的角度来说 网络安全上
    吴瀚清的《白帽子讲web安全》
    和其他安全技术大系的书籍都不错.
    软件安全推荐《加密与解密》和王清的《0day安全:软件漏洞分析技术》
    在研究信息安全的人当中 我是一个资历很浅的人. 所以只能给出浅薄的解答 请谅解


    2楼2013-08-27 20:00
    回复
      接下来 我们会引用一篇叫做《SQL注入天书》的基础文章.
      在此基础上 进行最基本的讲解.
      《SQL注入天书》
      随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。 用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
      SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。
      但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别。
      如果你以前没试过SQL注入的话,那么第一步先把IE菜单=>工具=>Internet选项=>高级=>显示友好 HTTP 错误信息前面的勾去掉。否则,不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误,不能获得更多的提示信息。


      4楼2013-08-27 20:22
      回复
        这里说一下很多人一直没弄清楚的东西 就是即使听说过SQL注入
        却连它是怎么注入的都不知道.
        大家看到自己的浏览器地址栏了吧 链接 我们也叫做URL
        如果是动态脚本语言编写的网站 一般格式是 xx.asp?id= 或者xx.php?id=
        不同脚本语言编写的网站对注入语句的选择有一定的影响 比如rewrite等一些参数
        本质上是通过web请求向网站发出sql语句查询请求 然后在网站本来显示文章的地方 也叫做显示位 显示出我们想要的数据 举一个最简单的例子域名://a.asp?id=111 假如这是一个网站的文章页面 如果他可以用于查询 那么他也可以叫做一个注入点在后面加上and 1=1 和and 1=2就可以判断他是否可用啦
        网站要显示出这些文章 而他们通常要用到一套管理程序来添加或者删除他们的文章 也叫做管理后台 他们的本质就是在数据库中加入或者删除数据 而这个数据库中通常也保存着管理员账户 密码的表和字段。
        这也是SQL注入的危害性所在
        关于数据库 表 字段的定义 百度君欢迎你向他提问.
        常用的access注入 这里只简单的讲一下联合查询的语句 用acsii猜解的 通常是啊D等工具做的事情了。
        首先我们用order by判断网站的字段长度 比如order by 2如果报错 说明字段数小于2
        而我们一直猜解 知道返回正确的数字 那就是正常的长度了
        比如 order by a 正确 order by a+1 报错(a是一个任意数字) 就说明字段长度是a了
        然后 我们用and exists(select * from 表名)>0 来猜解表
        稍微解释一下这个语句的意思 and 一个连词 exists 存在的意思
        select * from 从数据库里提取XXX表。 >0 条件为真
        而当我们获得返回正确的表名后 and exists(select 字段名 from 表名)>0
        就能开始猜测网站的字段名了 常用的就是admin username password.
        从原理上来剖析.
        本来数据库的作用就是使原本死板的网页变得容易管理 而且数据可以直接存储
        在里面 井井有条.
        也就是本来网站系统是对这些文章做了编号 也就是id=xxx
        但是由于它是直接从url接受了参数 并没有对它进行检查
        因此 之后的语句也被当成合理的语句执行了


        5楼2013-08-27 20:31
        回复
          这里是演示一个注入的实例

          可以看到网站展现了他的显示位

          在相应位置提交例如username 和password的参数 就会得到管理员的信息


          6楼2013-08-27 20:41
          回复
            顶下


            IP属地:江苏9楼2013-10-01 08:56
            回复