你是否在为如何学习进行PHP代码审计烦恼?
程序员文章站
2023-12-29 11:06:16
...
本帖最后由 瞅啥瞅 于 2016-7-13 10:34 编辑 这个帖子是我在其他论坛看到的,感觉非常不错,所以分享过来,跟大家一起讨论学习。 作者:jing0102 原文:你是否在为如何学习\进行PHP代码审计烦恼? 0x01 代码审计介绍 代码审计是一种以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析技术。 我们的代码审计对象包括并不限于对Windows和Linux系统环境下的以下语言进行审核:java、C、C#、ASP、PHP、JSP、.NET。 当然当今比较流行的是php代码审计,因为PHP也是当今WEB安全开发的主流语言之一。 0x02 如何去学习PHP代码审计 既然咱们知道了代码审计的意思,那么就要知道要在PHP源代码中寻找漏洞、缺陷、错误,就必须要学习对应源代码的语言(PHP)。 ①了解PHP大概的语法 ②初步能读懂PHP代码 ③了解相关的PHP危险函数(如:system() exec()) ④拥有一个可以定位、回溯、寻找的工具(推荐:TommSearch、SeayPHP源代码审计工具) ⑤多看一些别人分析的过程 ⑥进行实战挖掘 0x03 如何去进行PHP代码审计①先通过本地进行一个本地的渗透测试,一旦发现不对,就可以使用TommSearch来定位相关的文件(如果是框架的话定位就需要很繁琐(框架定位,可以参考文章:http://darkm01lym0on.blog.163.com/blog/static/2567990922016019105947508/),但是如果不是框架,直接看URL的文件就可以直接定位) ②跟踪相关代码 ③做好相应的测试笔记 ④审计结束 下面我就自己来站长之家下个源代码做个测试吧。下载地址:http://down.chinaz.com/soft/33915.htm e.g 刚刚下载了个PHP留言本系统就随便看了看 可以看到是一个fk1.php的文件,查看这个文件的源代码:
[color=rgb(85, 85, 85) !important]复制代码 可以看到提交的留言内容居然没有进行处理就执行了mysql语句插进了数据库。 通过代码也可以看到是需要审核的,所以就可以断定是在后台可以审核这个。 我现在前台插入了的payload进行留言提交: 提交成功了: 转战后台: 到留言管理那边: 瞬间弹出了一个弹框,代码被顺利执行。 通过这个XSS存储漏洞,我们可以进行XSS打后台管理员的COOKIE。 -----------------------e.g end----------------------- 以上是简单的一个审计思路,大牛勿喷,小白可以多学习! 0x04 代码审计的道路总结 说实话我在代码审计这条路上走了一年之久,我也试过放弃,可我还是坚持下来了,虽然说技术不精,但是吧,我学习的经验希望可以帮助大家。 1.少吹牛逼多看实例 2.多关注PHP代码函数 3.最重要的也是最难的:坚持 希望大家在以后的日子互相促进!怀挺! --------本文转载自:i春秋论坛 |