应用安全 - 代码审计 - PHP】的更多相关文章

一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实际并无什么门槛要求,只需要理解基础的php语法规则,以及理解各种类型漏洞的出现原因则可以开始尝试审计php源代码.通常的漏洞演示中sql语句会直接传入php自带的函数传入数据库执行,但在实际的软件项目中,通常以面向对象的思想进行编程,则会涉及各种形式的封装,调用,以及不同风格的框架,在这个条件下,只…
作者:坏蛋链接:https://zhuanlan.zhihu.com/p/24472674来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实际并无什么门槛要求,只需要理解基础的php语法规则,以及理解各种类型漏洞的出现原因则可以开始尝试审计php源代码.通常的漏洞演示中…
这里对PHP的代码审计和漏洞挖掘的思路做一下总结,都是个人观点,有不对的地方请多多指出. PHP的漏洞有很大一部分是来自于程序员本身的经验不足,当然和服务器的配置有关,但那属于系统安全范畴了,我不太懂,今天我想主要谈谈关于PHP代码审计和漏洞挖掘的一些思路和理解. PHP的漏洞发掘,其实就是web的渗透测试,和客户端的fuzzing测试一样,web的渗透测试也可以使用类似的技术,web fuzzing,即基于web的动态扫描. 这类软件国内外有很多,如WVS,Lan Guard,SSS等.这类扫…
<?php /** * KindEditor PHP * * 本PHP程序是演示程序,建议不要直接在实际项目中使用. * 如果您确定直接使用本程序,使用之前请仔细确认相关安全设置. * */ require_once 'JSON.php'; $php_path = dirname(__FILE__) . '/'; $php_url = dirname($_SERVER['PHP_SELF']) . '/'; //根目录路径,可以指定绝对路径,比如 /var/www/attached/ $root…
前言 php代码审计介绍:顾名思义就是检查php源代码中的缺点和错误信息,分析并找到这些问题引发的安全漏洞. 1.环境搭建: 工欲善其事必先利其器,先介绍代码审计必要的环境搭建 审计环境 windows环境(windows7+Apache+MySQL+php) phpstudy(任何php集成开发环境都可以,),notepad++, seay源代码审计系统 审计环境 linux环境(Apache+MySQL+php) 我用的是kail linux apache与mysql已经集成在linux上了…
出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 ---------------------------------------------------------- team:xdsec&90sec author:wilson blog:http://blog.wils0n.cn/ 文章链接:wilson's blog_php代码审计基础笔记[求人气~~] ----------------------…
0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号.同上一篇,我们需要找一些编码解码的函数来绕过全局防护,本篇介绍base64decode()的情况.漏洞来源于乌云:http://www.wooyun.org/bugs/wooyun-2014-050338 0x02 环境搭建 看背景我们使用了低版本的easytalk程序,版本为X2.4①源码我打包了一份:htt…
0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号.遇到这种情况我们就需要找一些编码解码的函数来绕过全局防护,这篇文章讲urldecode()的情况,同样大牛请自觉绕道~漏洞来源于乌云:http://www.wooyun.org/bugs/wooyun-2014-050338 0x02 环境搭建 看背景我们使用了低版本的easytalk程序,版本为X2.4①源码…
0x01 背景 首先恭喜Seay法师的力作<代码审计:企业级web代码安全架构>,读了两天后深有感触.想了想自己也做审计有2年了,决定写个PHP代码审计实例教程的系列,希望能够帮助到新人更好的了解这一领域,同时也作为自己的一种沉淀.大牛请自觉绕道~ 0x02 环境搭建 PHP+MySql的集成环境特别多,像PhpStudy.Wamp和Lamp等下一步下一步点下去就成功安装了,网上搜索一下很多就不赘述.这里提的环境是SQLol,它是一个可配置的SQL注入测试平台,包含了简单的SQL注入测试环境,…
PHP代码审计 目录 1. 概述3 2. 输入验证和输出显示3 2.1 命令注入4 2.2 跨站脚本4 2.3 文件包含5 2.4 代码注入5 2.5 SQL注入6 2.6 XPath注入6 2.7 HTTP响应拆分6 2.8 文件管理6 2.9 文件上传7 2.10 变量覆盖7 2.11 动态函数7 3. 会话安全8 3.1 HTTPOnly设置8 3.2 domain设置8 3.3 path设置8 3.4 cookies持续时间8 3.5 secure设置8 3.6 session固定9 3…
PHP 代码审计代码执行注入 所谓的代码执行注入就是 在php里面有些函数中输入的字符串参数会当做PHP代码执行. 如此的文章里面就大有文章可以探究了 一 常见的代码执行函数 Eval,assert,preg_replace Eval函数在PHP手册里面的意思是:将输入的字符串编程PHP代码 测试代码如下,然后在URL里面将变量moon的值赋值为phpinfo() 执行成功 得出当前PHP版本, preg_replace执行正则表达式搜索和替换 当pattern 中存在/e 模式修饰符,即允许执…
sql注入是web安全中最常见,也是平常中危害最大的漏洞. 最近在学习代码审计,拿自己审核的一段代码做个笔记. 1.sql语句拼接可能引起sql注入 很多偷懒的程序员对于没有过滤的参数,直接将其拼接到sql语句中,可能导致命令执行. 如:$sql = "select count(*) as qty from t_user where f_uid='"+$userAccount+"' and f_password='"+$password+"'";…
这是一个常见的误解- 企业需要购买复杂和昂贵的软件来发现应用程序中安全漏洞:而这些专门的软件应用程序,无论是黑盒或白盒,开源或商业,都能很快的发现安全漏洞. 事实是:所有这些专业的漏洞扫描工具都有其特定的优势和劣势.有些可能是ASP为中心的,而其他工具更倾向于PHP.开发团队可能会因为提高扫描速度的要求,会忽略不值得被报告的漏洞.如果你想在一定时间内找到尽可能多的安全漏洞,需要使用所有的工具. 没有一个漏洞扫描器或技术会发现你应用程序中100%的安全漏洞,即便你使用了各种工具和技术.这篇文章中我…
这周的审计任务,两天前的任务呀~拖延症呀~ 这次审计一个博客----auxblogcms1.0.6,网上也有所记载,我下面会做个总结. axublog是一款php个人博客系统,小巧强大的PHP+MySQL博客系统程序,全站静态生成html页面,努力成为最优秀国产博客系统!                                                                     环境搭建 审计CMS,首先环境搭建. 1,虚拟机/本机win7 32/64位,用wamse…
这周的审计任务 ZZCMS8.1是站长招商网内容管理系统.审计这个CMS的原因很多,这里就不详说了(其实是漏洞类型多点)                                                                     环境搭建 1,虚拟机win7 32位,用wamserver或者phpstudy搭建环境. 2,ZZCMS8.1源码(已分享链接)放到WWW目录下面 3,安装,访问(  http://127.0.0.1/zzcms8.1/install  ),…
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 关于 XiaoCms XiaoCms 企业建站版基于 PHP+Mysql 架构 是一款小巧.灵活.简单.易用的轻量级 cms.能满足各种企业站 博客 等中小型站点.(此cms貌似已经停止更新了) 01. 支持自定义内容模型 通过自定义内容模型和自定义字段可以轻松简单的定制出各种内容模型 如新闻模块…
之前学习了seay法师的代码审计与及80sec的高级审计,整理了一些笔记在印象里面,也发到这里作为记录 1,漏洞挖掘与防范(基础篇) sql注入漏洞            挖掘经验:注意点:登录页面,获取HTTP头,(user-agent/client-ip/x-forwarded-for,订单处理等.            注入类型:                   编码注入:                          1,宽字节注入:                      …
登陆一下好吗 首先看到两个输入框,分别对应账号密码,随手输个admin,admin进去,提交后发现有回显,既然题目说了过滤了一切,那就先看看过滤了些啥 经过一波测试,发现服务器过滤了union,select,or,for,#,/,* 这就很让人头疼了,没了or就没了万能密码,select也被过滤,我还真想不起来有什么注入语句了 只能去翻看wp学习一下了 一看真的是觉得脑洞大开 方法1: username--> '=' password--> '=' 膜一下大佬的思路: 首先猜测sql语句为:s…
Guess Next Session 看题目提示,是一道代码审计: <?php session_start(); if (isset ($_GET['password'])) { if ($_GET['password'] == $_SESSION['password']) die ('Flag: '.$flag); else print '<p>Wrong guess.</p>'; } mt_srand((microtime() ^ rand(1, 10000)) % ra…
挺简单的一个代码审计,这里只要倒序解密就行了,这里给一下python版的wp import codecs import base64 strs = 'a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws' str1 = codecs.encode(strs, 'rot13') str2 = str1[::-1] str3 = base64.b64decode(str2) str4 = codecs.decode(str3,'ut…
一开始我先随便输入了几个账号名字进行测试,发现当输入的账号名为admin时会发生报错 经过测试果然是一个注入点 当拿到admin密码后发现根本没用,没办法另寻他路 审查元素时发现提示index.txt,原来又是一个代码审计,这里把关键代码贴一下 <?php if($_POST[user] && $_POST[pass]) { $conn = mysql_connect("********, "*****", "********");…
Preface 这篇文章的内容会不断的充实和丰富,前期会增加一些之前爆出漏洞的复现过程,来丰富自己实际代码审计经验,后期如果能挖掘出新的漏洞,便更好. 代码审计之SQL注入:BlueCMSv1.6 sp1 常用的输出函数 echo:输出一个字符串或变量,但是不能输出数组print_r:输出一个数组var_dump:输出一个变量的结构,这个变量包含普通变量,数组,对象 获取当前进程所有变量.函数.常量.类 get_defined_vars(void):返回当前可用的变量列表的多位数组,包括环境变量…
Preface 这是一篇纪录关于BlueCMSv1.6 sp1两个SQL注入的审计过程,原文来自代码审计之SQL注入:BlueCMSv1.6 sp1 ,主要纪录一下个人在参考博文复现这两个漏洞经过. 参看视频:BlueCMS 1.6 SQL 注入漏洞 工具及环境 bluecms v2.1 sp1 链接:http://pan.baidu.com/s/1dFKLanR 密码:8v1c seay审计系统 链接:http://pan.baidu.com/s/1dENS4KT 密码:rszt 环境 PHP…
近期有很多小伙伴在后台留言想看关于代码审计的文章,其实有关审计的文章网上资源是比较多的,但是从代码审计开始到结束的这类文章却少之甚少. 今天要讲解的ZZZPHP1.61这套审计漏洞比较多,SQL注入漏洞.任意文件删除漏洞.任意文件读取漏洞.远程执行漏洞,当中也借助了漏扫工具,内容涵盖全面,分析透彻,学完定会受益匪浅! 注:文章还是原来的方式,先复现后分析,阅读用时约7分钟. SQL注入漏洞(获取管理员密码) 漏洞复现 payload: GET /search/ HTTP/1.1 Host: 12…
第一题:extract变量覆盖 知识简介 extract()函数语法: extract(array,extract_rules,prefix) 参数 描述 array必需. 规定要使用的数组. extract_rules可选. extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突.对不合法和冲突的键名的处理将根据此参数决定. 可能的值: EXTR_OVERWRITE - 默认.如果有冲突,则覆盖已有的变量. EXTR_SKIP - 如果有冲突,不覆…
文章来源:https://xz.aliyun.com/t/1633 最近在先知上看到之前有篇关于java代码审计的文章总结的蛮好,记录以下特征函数,方便查阅,同时自己也会将在平时代码审计过程中积累的函数补充在这篇文章中.(虽然作者已经很贴心的提供了脚本). 1.xxe 常见解析xml的类有如下: javax.xml.parsers.DocumentBuilderjavax.xml.stream.XMLStreamReaderorg.jdom.input.SAXBuilderorg.jdom2.i…
前言: 对于java的代码审计我就是一个小白,没有代码基础(不会java),从0开始记录我的java漏洞的审计学习之旅.对于java来说是一门很难的语言,但是不去学习就永远不会.对于一门很复杂的语言如果学习的过于仔细专研原理追求完美,容易跑偏消耗积极性和精力,我学的是代码审计而不是java开发,所以我学的比较有针对性,对此仅仅是我个人看法. 00x1: java的基础知识,由于语言的特性,我不是去搞开发所以根据以往的语言经验,我直接在菜鸟的java教程过一遍基础语法,了解java的语言特性,语法…
禅知 Pro v1.6 前台任意文件读取 | 代码审计 蝉知专业版是基于蝉知企业门户系统开源版开发,继承了蝉知本身的优秀功能.相对于蝉知开源版增强了商品的属性自定义.属性价格定制.物流跟踪.微信支付.微信登录.手机短信等功能.蝉知专业更加注重企业网站的营销推广. 文件读取漏洞好好分析下.禅知Pro 1.6.1 已经修复了这个漏洞. 首先安装,安装成功,文末分享源码. 接下来开始代码审计,漏洞分析. 路径:D:\wamp\www\test\chanzhiPro1.6.php5\chanzhieps…
写这篇文章的目的一是由于目前网上关于java代码审计的资料实在是太少了,本人作为一个java代码审计的新手,深知学习java代码审计的难受之处,所以将自己学习过程中挖掘的一些漏洞写成博客发出来希望可以给后人一些帮助,同时也可以记录下自己的成长过程.目的二是由于这次挖掘的漏洞REDOS,个人觉得这个漏洞还是很有意思的,很早就知道这个漏洞了但是从来没有挖到过,终于在一个月前挖到了,很开心,记录一下. 先介绍下REDOS这个漏洞吧,可能很多人并不是很熟悉这个漏洞,一是由于这种漏洞造成的影响是拒绝服务,…
作者:i春秋核心白帽yanzmi 原文来自:https://bbs.ichunqiu.com/thread-42149-1-1.html 本期斗哥带来Java代码审计的一些环境和工具准备. Java这个语言相对于PHP来说还是比较复杂的,所以一开始接触到Java源码审计的时候会遇到一些关于环境和配置上一些困难,本文记录斗哥在开始去审计Java代码的一些准备,希望能够帮助到刚入门的新手朋友们. 0×00 Java环境说明 1. 安装Java环境 安装完成后默认的安装目录: 环境变量的配置,环境变量…