职业感悟:代码审计与编程在渗透中的重要性

标签: 人文创业 代码审计 职业感悟 | 发表时间:2014-06-16 00:22 | 作者:seay
出处:http://www.cnseay.com

    20130508074646266_副本

   配图:3D立体街头涂鸦

     博客连着断了一个月没更新,期间写过好几篇各个方向的文,都是写到一半就夭折,这篇文章强迫自己耐心写出来的。最近跟出版社沟通好了在写一本关于代码审计和安全编程的书,算是把我这几年的技术积累做一个总结,刚好昨天跟safekey team几个搞渗透的朋友说到编程的问题,就想写个文来好好讲讲。

   这个文原想命名为 《做个有创造力的海盗》,迎合一下刺(道哥)前段时间写的《 我要找的是海盗》,在他的文章讲的找海盗一点上我的看法和做法跟他是一模一样的。至今我也只有一个身份证,高一错学,初中、小学毕业证应该也是找不到了,18岁加入安全宝,所以我也没法对公司team成员有学历要求。另外在海盗这一点上,我的理解是 有激情、有胆量、有智谋、有创造力的人,点到为止,留一个题目《 创业路上的海盗军团》给海盗去思考吧,我要找的是有创造力的海盗。

   

   仔细想了一下我还是有能力驾驭这个题目,我在高一就开始接触编程,到现在快5年的编程经验,渗透连着做了4年,国内外大大小小目标。代码安全审计也有两年多不断的积累。像余弦在TED的演讲上说他是一个有邪气的人一样,非纯粹的白帽子,我们俩有点类似,这是一个我不想丢掉的特质,怕丢掉了会失去创造力。如果有心可以翻翻我的blog,可以看到我这两年写的blog和安全软件基本都是带攻击性质,就像代码审计系统也是用来发现漏洞,可以说我不是一个单纯的技术爱好者。

   首先抛出一个观点:代码审计和编程在渗透中有至关重要的作用。  
   这几年见过很多人,没有代码审计和编程能力做渗透都比较吃力,局限在用安全扫描做漏洞扫描以及利用网上公开的exp去攻击,也就是常说的脚本小子。即没有研究能力的攻击党,通常放出exp的人不可怕,可怕的是利用exp去批量攻击的人,这种人造成的危害最大。然而在攻击过程中,由于攻击对象的环境不一样,一个小小的问题也会导致攻击失败,这时候脚本小子的弱势就完美体现了,而有研究能力的攻击者(下面以 文化流氓代称)能够分析攻击失败的原因,对exp进行改造以使攻击成功。这类的case见过很多,举两个例子。

  情景一:
    一个SQL注入漏洞( http://www.cnseay.com/?m=news&c=list&id=188),因为目标网站存在waf (web application firewall),脚本小子使用自动化注入工具无法利用,通常会放弃这个漏洞。而文化流氓就不一样了,利用自己的SQL编程能力和对waf了解,通过提交不用的数据,根据server返回的数据信息、页面报错等来分析漏洞和waf的大致情况,最终会想出办法来绕过waf利用漏洞,成功入侵目标网站。类似的场景有代码、命令执行、XSS等等漏洞,扫描器在扫描出漏洞之后,都不会给出你能直接利用的exp,需要攻击者自己根据经验以及编程能力去分析构造利用脚本。

  情景二:
     这是一个在源码漏洞发现层次的场景,通过扫描器扫描到的一个源码包( http://www.cnseay.com/cnseay.rar),利用是该网站的程序源代码,通常攻击者都会利用源码包找一些配置文件一类,因为里面有数据库、api接口等等一类配置,如果环境有限制,如目标站数据库限制连接IP等,那么脚本小子可能在源码包漏洞利用也就到此为止。换在文化流氓的手上就不一样了,他通过对源码包进行安全审计,发现网站目录下一个文件存在代码执行漏洞,于是通过该漏洞直接向网站服务器写入一个web后门,通过web后门提权得到服务器权限。

  上面两个case可以很清楚的看到代码审计和编程在渗透中的重要性,多一种技能,也就多很多成功的机会。很简单的一个道理,给你一个漏洞,你也得要会用啊,不然给你有毛用。当然想要玩好代码审计也不是件简单的事,首页需要对编程语言足够的了解,起码要有代码阅读能力,另外还需要对各种漏洞进行深入理解,理解漏洞原理,即出现漏洞的原因以及利用和修复方法。

   备注:本人博客更新速度会下调,可能在写书过程中会发一些研究paper,如果不想错过可以点击【 邮箱订阅】订阅到邮箱,另外也可点击【 鲜果订阅】,或者 RSS,您随意 :D
博主猜你喜欢:

PHP代码审计学习总结 某牛的经验之作

帮助新手学习代码审计,分享WEB安全代码审计文章整理打包

PHP代码审计基础知识 对新手来说很精品哦

PHP编程函数安全篇

介绍公司php漏洞挖掘与代码审计方法
无觅

相关 [职业 代码审计 编程] 推荐:

职业感悟:代码审计与编程在渗透中的重要性

- - Seay's blog 网络安全博客
   配图:3D立体街头涂鸦.      博客连着断了一个月没更新,期间写过好几篇各个方向的文,都是写到一半就夭折,这篇文章强迫自己耐心写出来的. 最近跟出版社沟通好了在写一本关于代码审计和安全编程的书,算是把我这几年的技术积累做一个总结,刚好昨天跟safekey team几个搞渗透的朋友说到编程的问题,就想写个文来好好讲讲.

Python安全编码与代码审计

- - FreeBuf.COM | 关注黑客与极客
现在一般的web开发框架安全已经做的挺好的了,比如大家常用的django,但是一些不规范的开发方式还是会导致一些常用的安全问题,下面就针对这些常用问题做一些总结. 代码审计准备部分见《php代码审计》,这篇文档主要讲述各种常用错误场景,基本上都是咱们自己的开发人员犯的错误,敏感信息已经去除. 未对输入和输出做过滤,场景:.

Java代码审计基础(一)

- - 阿德马Web安全
本文重点是让大家了解JAVA代码审计的基础,会以漏洞示例的方式介绍JAVA代码中常见Web漏洞的形成和针对的修复方案,文章是在国外网站上看到的,因为在接触JAVA代码审计,感觉挺高大上的文章,很适合对JAVA代码审计感兴趣的童鞋找感觉之用,就根据自己的理解翻译了过来,拿去某平台投稿,被鄙视说太基础,就只好发自己的Blog上了.

代码审计入门总结

- - WooYun知识库
之前看了seay写的PHP代码审计的书,全部浏览了一遍,作为一个代码审计小白,希望向一些和我一样的小白的人提供一下我的收获,以及一个整体的框架和常见漏洞函数. 这也算是这本书的一个学习笔记吧,可以结合我捋顺的思路来看这本书. 学习代码审计的目标是能够独立完成对一个CMS的代码安全监测. 通读全文代码,从功能函数代码开始阅读,例如 include文件夹下的 common_fun.php,或者有类似关键字的文件.

代码审计就该这么来3 beescms getshell

- - FreeBuf.COM | 关注黑客与极客
本文作者:i春秋作家——索马里的海贼. (http://bbs.ichunqiu.com/thread-13714-1-1.html)说到快速漏洞挖掘中的几个重点关注对象,命令执行,文件操作,sql注入. 并且拿sql做为例子简单做了一次 代码审计,今天换一个思路,从文件操作部分入手,毕竟 文件操作一个搞不好就是getshell,比起注入按部就班慢慢来可要爽快多了.

代码审计:eyou(亿邮)邮件系统两个getshell和两个有意思的漏洞

- - Seay's blog 网络安全博客
最近在给一家市值过百亿美金的公司做渗透测试,发现其中一个域名用的亿邮邮件系统,就顺便下了套亿邮的源码看了看,发现这套系统的安全性还停留在零几年,问题一大堆,找到一些getshell,简单列两个,再拧两个稍微有意思的漏洞分享一下,就不写详细分析了. 另外过段时间会更新一版代码审计系统,会加几种漏洞类型的审计规则,还有优化误报.

浅谈代码审计入门实战:某博客系统最新版审计之旅

- - 神刀安全网
第一次正式的审一次CMS,虽然只是一个很小的博客系统(提交都不一定收的那种),漏洞也都很简单,但是也算是积累了不少经验,所以最后想来还是在此做个分享,博客系统的CMS就不说了,毕竟有个官网挂着. 缘起某日翻阅某朋友博客的时候无意间发现有个小型的CMS,反正暑假闲的无聊就去审了一下代码(正好拿来练练手),问题挺严重的,好多参数都没有进行过滤,光注入就有好多处,因为文章篇幅有限,这里就不一一列举了,这里只把我找到的漏洞中每类最典型的剖析一下.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Shell编程

- - 博客园_首页
本来打算寒假回家好好学习Linux的,为以后学习嵌入式打好基础的. 回家之后的学习效率非常低,之前为了搭建Linux环境,折腾了很长时间,学到现在也就勉强才把Shell编程学完了. 今天就把自己学习的相关知识点总结整理一下. 个人感觉shell程序跟windows下的批处理文件有点像,就是将一些系统命令写进一个可执行文件中,然后执行.

编程能力与编程年龄

- - 酷壳 - CoolShell.cn
程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《 程序员技术练级攻略》这篇文章很多人回复到这种玩法会玩死人的一样. 我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭. 因为,大多数程序员都认为,编程这个事只能干到30岁,最多35岁吧.