
【代码审计】
FLy_鹏程万里
国内网络安全研究员,专注于Web渗透、移动安全、代码审计、应急响应、内网渗透、区块链安全、云安全等研究方向,擅长渗透测试、红蓝对抗、内网渗透、云安全、区块链安全。
展开
-
PHP代码审计————1、PHP代码审计之环境搭建
前言本系列博客,主要讲解PHP代码审计。从环境搭建到具体的实战分析将会一步一步深入学习,希望可以对大家有所帮助。审计环境搭建操作系统:Window 7软 件:phpstudy、VMware workstations14、seay 代码审计软件、notepad++(1)在本地物理主机中安装VMware workstations 14(2)使用虚拟机在本地创建Windows 7操作系统的虚拟...原创 2018-04-04 09:37:20 · 1138 阅读 · 0 评论 -
CMS漏洞检测工具 – CMSmap
前言CMSmap是一个Python编写的针对开源CMS(内容管理系统)的安全扫描器,它可以自动检测当前国外最流行的CMS的安全漏洞。 CMSmap主要是在一个单一的工具集合了不同类型的CMS的常见的漏洞。CMSmap目前只支持WordPress,Joomla和Drupal。 主要功能1.其可以检测目标网站的cms基本类型,CMSmap默认自带一个WordPress,Joomla和Drupal插件列...原创 2018-06-05 13:48:04 · 5960 阅读 · 0 评论 -
代码审计————目录
EmlogEmlog<=5.3 后台无视验证码暴力破解实现登录Emlog<=5.3 敏感信息泄露原创 2018-06-05 14:18:15 · 556 阅读 · 0 评论 -
Emlog漏洞————Emlog博客系统后台无视验证码暴力破解实现登录
影响版本:Emlog<=5.3.1 漏洞演示环境的搭建:使用PHPstudy在本地搭建PHP+MYSQL+Apache环境: 注:如果在本地安装了IIS服务,会使得端口冲突,此时我们要进行修改端口(建议可以修改Apache的端口为8080,之后重启服务即可)emlog的安装:我们从网上下载到emlog的源代码,我们下载下来,并且解压到我们安装的PHPstudy的...原创 2018-06-05 14:20:30 · 1739 阅读 · 0 评论 -
Emlog漏洞————敏感信息泄露
Emlog简介Emlog是“Every Memory Log”的简介,意即:点滴记忆。它是一款基于PHP语言哈MYSQL数据库的开源、免费、功能强大的个人或多人联合撰写的博客系统(Blog)。基于PHP和MYSQL的功能强大的博客以及CMS建站系统。致力于提供快速、稳定,且在使用上又及其简单、舒适的博客服务。安装和使用都非常方便。目前Emlog正在受到越来越多的广大用户的青睐。漏洞分析...原创 2018-06-05 14:41:08 · 2987 阅读 · 0 评论 -
Emlog漏洞————Emlog数据库备份与导入功能导致后台getshell
Emlog简介 Emlog是“Every Memory Log”的简介,意即:点滴记忆。它是一款基于PHP语言哈MYSQL数据库的开源、免费、功能强大的个人或多人联合撰写的博客系统(Blog)。基于PHP和MYSQL的功能强大的博客以及CMS建站系统。致力于提供快速、稳定,且在使用上又及其简单、舒适的博客服务。安装和使用都非常方便。目前Emlog正在受到越来越多的广大用户的青睐。漏洞分...原创 2018-06-05 17:32:43 · 2517 阅读 · 1 评论 -
Emlog漏洞——————Emlog友情链接自助插件存在SQL注入漏洞
Emlog简介Emlog是“Every Memory Log”的简介,意即:点滴记忆。它是一款基于PHP语言哈MYSQL数据库的开源、免费、功能强大的个人或多人联合撰写的博客系统(Blog)。基于PHP和MYSQL的功能强大的博客以及CMS建站系统。致力于提供快速、稳定,且在使用上又及其简单、舒适的博客服务。安装和使用都非常方便。目前Emlog正在受到越来越多的广大用户的青睐。漏洞简介...原创 2018-06-07 15:22:12 · 2053 阅读 · 1 评论 -
代码审计入门总结
0x00 简介之前看了seay写的PHP代码审计的书,全部浏览了一遍,作为一个代码审计小白,希望向一些和我一样的小白的人提供一下我的收获,以及一个整体的框架和常见漏洞函数。这也算是这本书的一个学习笔记吧,可以结合我捋顺的思路来看这本书。: )0x01 整体学习代码审计的目标是能够独立完成对一个CMS的代码安全监测。其通用的思路有:通读全文代码,从功能函数代码开始阅读,例如in...转载 2018-07-06 11:36:26 · 2255 阅读 · 3 评论 -
【代码审计】PHP文件包含漏洞利用总结
0x01 概述PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而导致意外的文件泄露甚至恶意的代码注入。涉及文件包含漏洞的四个函数如下:include()include_once()require()require_once()reuqire() 如果在包含的过程中有错,比如文件不存在等,则会直接退出,不执行后续语句。in...转载 2018-12-17 18:00:26 · 1428 阅读 · 0 评论 -
【代码审计】文件上传漏洞总结
搜索关键函数:move_uploaded_file() 接着看调用这个函数的代码是否存在为限制上传格式或者可以绕过。1、未过滤或本地JS校验2、黑名单扩展名过滤:限制不够全面:IIS默认支持解析.asp,.cdx, .asa,.cer等。例如下面的代码:<?phpfunction getExt($filename){ return substr($filename,strri...转载 2018-12-17 18:00:34 · 1443 阅读 · 0 评论 -
【代码审计】变量覆盖漏洞总结
1、$$变量覆盖:很经典的一个例子<?php $a=1; foreach (array("_COOKIE","_POST","_GET") as $request) { foreach ($$request as $key => $value) { echo $key."</br>";转载 2018-12-17 18:00:41 · 537 阅读 · 0 评论 -
【代码审计】PHP写入配置文件getshell
看到小密圈的一个关于配置文件写入的题目,做一下记录。问题代码:1.php的内容如下:config.php的内容如下:preg_replace — 执行一个正则表达式的搜索和替换mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int...转载 2018-12-17 18:00:47 · 767 阅读 · 0 评论 -
【代码审计】PHP弱类型安全问题汇总
1、== 与 ===PHP中的两种比较符号:$a==$b$a===$b区别在于$a==$b会转换类型后比较,而$a === $b会比较变量类型。如果一个数值和一个字符串比较,那么会将字符串转换为数值。2、Magic Hash在进行比较运算时,如果遇到了0e\d+这种字符串,就会将这种字符串解析为科学计数法,其最终都解释为0,所以如果两个不同的密码经过哈希以后,其哈希...转载 2018-12-17 18:00:53 · 382 阅读 · 0 评论 -
【代码审计】————1、aspx代码审计-1
今天和大家分享一下aspx网站的代码审计,漏洞类型就是SQL注入和cookie欺骗。今天看的cms名字叫做:XX星员工请假系统我们首先看一下网站的目录结构:其中,很明显可以看到bin目录下面都是dll文件,也就是aspx网站的源码;install目录就是安装目录;admin目录就是后台目录…etc。我们今天的目标是纯白盒审计,一切只看代码。下面就是正题咯先看logi...转载 2019-02-13 09:13:14 · 808 阅读 · 0 评论 -
Emlog漏洞————Emlog相册插件前台SQL注入+Getshell
Emlog简介Emlog是“Every Memory Log”的简介,意即:点滴记忆。它是一款基于PHP语言哈MYSQL数据库的开源、免费、功能强大的个人或多人联合撰写的博客系统(Blog)。基于PHP和MYSQL的功能强大的博客以及CMS建站系统。致力于提供快速、稳定,且在使用上又及其简单、舒适的博客服务。安装和使用都非常方便。目前Emlog正在受到越来越多的广大用户的青睐。此次引起漏洞...原创 2018-06-05 16:34:15 · 2789 阅读 · 0 评论 -
PHP代码审计————7、 PHP代码审计之输入验证和输出显示
大多数漏洞的形成原因主要都是未对输入数据进行安全验证或对输出数据未经安全处理,比较严格的数据验证方式是:对数据进行精确匹配接收白名单验证拒绝黑名单数据对匹配黑名单的数据进行编码在PHP中可由用户输入的变量列表如下$_SERVER$_GET$_POST$_COOKIE$REQUEST$_FILES$_ENV$_HTTP_COOKIE_VARS$_HTTP_ENV_VARS$_HTTP_POST_FI...原创 2018-05-16 11:28:33 · 548 阅读 · 0 评论 -
PHP代码审计————6、 PHP代码审计之找回密码问题
验证Token在找回密码的时候生成一个token,然后存储到数据库中,然后把找回密码的地址发送到邮箱中,url中就含有token,由用户点开后就可以修改密码。延伸一些CMS的密码加密方式很难被破掉,有时候拿到了管理的密码破不掉利用方发:一般找回密码是用的邮箱,首先把管理的邮箱注入出来,然后再去找回密码,再把数据库的token注入出来,构造一下地址就可以重置密码了。rand函数生成Token$res...转载 2018-05-16 11:31:25 · 464 阅读 · 0 评论 -
PHP代码审计——————2、PHP代码审计之PHP环境简介
前言代码在不同环境下执行的结果也会大有不同,可能就是因为一个配置问题,导致一个非常高危的漏洞能够利用;也可能你已经找到一个漏洞就因为你的配置问题,导致你弄了好久都无法构造成功的漏洞利用代码。然而,在不同的PHP版本中配置指令也会有不一样的地方,新的版本可能会增加或者删除部分指令,改变指令默认设置或者固定设置命令,因此,我们在代码审计之前需要非常熟悉PHP各个版本中配置文件的核心指令,才可以高效的挖...原创 2018-04-04 10:24:12 · 508 阅读 · 0 评论 -
PHP代码审计————3、通用代码审计思路
前言本小节我们就来总结一下在PHP代码审计中常用到的代码审计思路敏感函数回溯参数过程 根据敏感函数的来逆向追踪参数的传递过程,是目前使用的最多的一种方式,因为大多数漏洞是由于函数的使用不当造成的。另外非函数使用不当的漏洞,如sql注入,也有一些特征,比如select、insert等,再结合from和where等关键字,我们就可以判读是否是一条SQL语句,通过对字符串的识别分析,就能...转载 2018-04-04 23:32:35 · 1656 阅读 · 1 评论 -
PHP代码审计————4、 PHP代码审计之软件包的安装问题
代码审计始于安装很多人都认为我们的代码审计工作是在我们将CMS安装好之后才开始的,其实不然,在安装的时候我们的代码审计就开始了!一般CMS为了提升用户的体验以及实现某些功能(比如:头像上传、模板上传等等)将会在CMS的安装过程中对该PHP环境进行检测,查看一些配置选项是否符合该CMS的安全需求,如果不符合它会在你安装的时候经过询问开启该设置。作为代码审计人员的你,在安装过程你就当注意到有哪些敏感函...原创 2018-05-16 11:26:08 · 618 阅读 · 0 评论 -
PHP代码审计————序
审计套路通读全文法 (麻烦,但是最全面)敏感函数参数回溯法 (最高效,最常用)定向功能分析法 (根据程序的业务逻辑来审计)初始安装信息泄露文件上传文件管理登录认证数据库备份恢复找回密码验证码越权注入第三方组件CSRF,SSRF,XSS.....审计方法1.获取源码2.本地搭建调试可先使用扫描器识别常见传统漏洞,验证扫描器结果,手动正则3.把握大局对网站...转载 2018-05-16 11:25:41 · 410 阅读 · 0 评论 -
PHP代码审计————8、 PHP代码审计之命令注入
在PHP中,可以实现执行外部程序或函数的命令执行函数主要包括以下5个函数System函数可以用来执行一个外部的应用程序并将相应的执行结果输出,函数原型如下:string system(string command, int &return_var)参数说明:command是要执行的命令,return_var存放执行命令的执行后的状态值。按照PHP程序员的想法,命令执行函数的主要作用是可以通...转载 2018-05-16 11:31:49 · 785 阅读 · 0 评论 -
PHP代码审计————9、 PHP代码审计之变量覆盖
变量覆盖指的是用我们自定义的参数值替换程序原有的变量值,一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。经常导致变量覆盖漏洞场景有:$$,extract()函数,parse_str()函数,import_request_variables()使用不当,开启了全局变量注册等。0×01 全局变量覆盖 register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被...转载 2018-05-16 11:29:56 · 531 阅读 · 0 评论 -
PHP代码审计————10、PHP代码审计之XSS
XSS漏洞大致分为三种反射型XSS漏洞存储型XSS漏洞基于DOM的XSS漏洞反射型XSS漏洞它通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行它的特点是非持久化,必须用户点击带有特定参数的链接才能引起该漏洞的触发变量直接输出<?php echo $_GET['xss'];?>$_SERVER变量参数$_SERVER[...转载 2018-05-16 11:32:24 · 694 阅读 · 0 评论 -
PHP代码审计———11、PHP代码审计之CSRF
CSRF是什么CSRF(Cross-Site-request-forgery),中文名:跨站请求伪造,也被称为:one click attack/session riding,缩写为CSRF、XSRFCSRF可以做什么你可以这样理解CSRF攻击:攻击者盗用了你的身份,以你的名义发出恶意请求。CSRF能够做的事情包括:以你的名义发送邮件、发消息、盗取你的账号、甚至购买商品等等。造成的问题主要是:个人...原创 2018-05-16 11:33:17 · 704 阅读 · 0 评论 -
PHP代码审计———12、PHP代码审计之XXE
XXE介绍现在越来越多主要的web程序被发现和报告存在XXE(XML External Entity attack)漏洞,比如说facebook、paypal等等。 举个例子,我们扫一眼这些网站最近奖励的漏洞,充分证实了前面的说法。尽管XXE漏洞已经存在了很多年,但是它从来没有获得它应得的关注度。很多XML的解析器默认是含有XXE漏洞的,这意味着开发人员有责任确保这些程序不受此漏洞的影响。 0×0...转载 2018-05-16 11:33:42 · 1079 阅读 · 0 评论 -
PHP代码审计———13、PHP代码审计之注入
无过滤把用户可控的一些变量带入到了数据库的各种操作当中,并且没有做好过滤注册用户的使用检测用户名是否存在的时候在写SQL语句的时候,是拼接sqlSelect注入一般使用union selectUpdate注入update set的位置:看这个表的那个column会被展示出来,就把查询出来的内容显示到这里where之后: 盲注Insert注入把要出的数据插入到这column里面去Delete注入盲注...转载 2018-05-16 11:34:15 · 400 阅读 · 0 评论 -
PHP代码审计———14、PHP代码审计之文件上传
审计函数move_uploaded_file超全局变量$_FILES后缀名是图片格式前缀名不能是外部提交的上传的目录不可以是获取外部提交的路径防御使用白名单方式检测文件后缀上传之后按时间能算法生成文件名称上传目录脚本文件不可执行注意%00截断...原创 2018-05-16 11:35:05 · 514 阅读 · 0 评论 -
PHP代码审计———15、PHP代码审计之文件包含
定义:在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄露甚至恶意的代码注入。程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为包含。程序开发人员都希望代码更加灵活,所以通常会将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调...转载 2018-05-16 11:35:25 · 867 阅读 · 0 评论 -
PHP代码审计————5、 PHP代码审计之登录认证问题
用户认证检查代码进行用户认证的位置,是否能够绕过认证,例如:登录代码可能存在表单注入检查登录代码有无使用验证码等,防止暴力破解的手段检查Session的时效性,防止因为一个session的长久有效不销毁,而导致验证码、密码、用户名破解成为可能。函数或文件的未认证调用一些管理页面是禁止普通用户访问的,有时开发者会忘记对这些文件进行权限验证,导致漏洞发生。某些页面使用参数调用功能,没有经过权限验证,比...原创 2018-05-16 11:28:18 · 504 阅读 · 0 评论 -
【代码审计】————2、aspx代码审计-2
今天和大家分享一下aspx网站的代码审计,漏洞类型为:未授权访问和任意文件下载。今天看的源码文件就不共享给大家了,本文只作学习只用。还是先看我们的文件夹目录和dll文件的目录:这是网站根目录正常打开,是会跳转到/2052/aspx/userlogin.aspxDll使用ILSpy反编译后,目录如下:在代码审计中,类似未授权访问的漏洞是最好验证的,像一般aspx网...转载 2019-02-13 09:13:37 · 810 阅读 · 0 评论