PHP代码审计---基础】的更多相关文章

出处: 九零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代码审计基础笔记[求人气~~] ----------------------…
高级篇主要讲 1. 熟知各个开源框架历史版本漏洞. 2. 业务逻辑漏洞 3. 多线程引发的漏洞 4. 事务锁引发的漏洞 在高级篇审计中有很多漏洞正常情况下是不存在的只有在特殊情况下才有 PHP常用框架 Zendframwork,Yii,Laravel ,.ThinkPHP 这里举例因为thinkphp由国内人开发用户量较多而且历史漏洞也多 Thinkphp历史漏洞很多,对于漏洞形成原因可以自己复现. 篇幅有限只介绍披露漏洞 Query方法 低于3.1.3 有sql注入问题 Order方法 低于…
初级篇更多是对那些已有的版本漏洞分析,存在安全问题的函数进行讲解,中级篇更多是针对用户输入对漏洞进行利用 中级篇更多是考虑由用户输入导致的安全问题. 预备工具首先要有php本地环境可以调试代码 总结就是 1. 可以控制的变量[一切输入都是有害的 ] 2. 变量到达有利用价值的函数[危险函数] [一切进入函数的变量是有害的] 程序的本质是变量与函数,我们审计的漏洞也无法摆脱这两个元素,让我们先来看下漏洞形成的条件 漏洞的利用效果最终也取决与函数的功能.所以我们在下面讲述 漏洞挖掘的过程中,也将围绕…
对于php代码审计我也是从0开始学的,对学习过程进行整理输出沉淀如有不足欢迎提出共勉.对学习能力有较高要求,整个系列主要是在工作中快速精通php代码审计,整个学习周期5天 ,建议花一天时间熟悉php语法. 我是直接phpstudy2019一键搭建小白首选 所谓工欲善其事必先利其器,找一款适合自己的php开发工具自行百度搭建,我用的是phpstrom . 初级篇主要讲 1. php历史版本漏洞. 2. 变量配置缺陷. 3. 函数缺陷. 4. 弱语言缺陷. PHP配置漏洞 我们要熟知php各版本漏洞…
php核心配置 php.ini 基本配置 语法 大小写敏感 运算符 空值的表达式 安全模式 安全模式 safe_mode = off 用来限制文档的存取,限制环境变量的存取,控制外部程序的执行.PHP5.4.0移除 限制环境变量存取 safe_mode_allowed_env_vars = string 指定php程序可以改变的环境变量的前缀,当这个选项的值为空时,那么php可以改变任何环境变量,如果 如:safe_mode_allowed_env_vars = PHP_,当这个选项的值为空时,…
PHP伪协议 PHP伪协议事实上是其支持的协议与封装协议,支持的种类有以下12种. * file:// - 访问本地文件系统 * http:// - 访问 HTTP(s) 网址 * ftp:// - 访问 FTP(s) URLs * php:// - 访问各个输入/输出流(I/O streams) * zlib:// - 压缩流 * data:// - 数据(RFC 2397) * glob:// - 查找匹配的文件路径模式 * phar:// - PHP 归档 * ssh2:// - Secu…
PHP伪协议 PHP伪协议事实上是其支持的协议与封装协议,支持的种类有以下12种. * file:// - 访问本地文件系统 * http:// - 访问 HTTP(s) 网址 * ftp:// - 访问 FTP(s) URLs * php:// - 访问各个输入/输出流(I/O streams) * zlib:// - 压缩流 * data:// - 数据(RFC 2397) * glob:// - 查找匹配的文件路径模式 * phar:// - PHP 归档 * ssh2:// - Secu…
首先看到 include "flag.php",第一反应就应该是文件包含 直接先?hello=file:////etc, 然后啥也没 那就再检查一下代码,eval(var_dump($a)),懂了,hello传入一个参数,然后输出类型和内容,那我直接?hello='flag.php' 马上就出来了…
ref:https://xz.aliyun.com/t/1633/ JAVA代码审计的一些Tips(附脚本) 概述 本文重点介绍JAVA安全编码与代码审计基础知识,会以漏洞及安全编码示例的方式介绍JAVA代码中常见Web漏洞的形成及相应的修复方案,同时对一些常见的漏洞函数进行例举.文章最后分享一个自动化查找危险函数的python脚本. XXE 介绍 XML文档结构包括XML声明.DTD文档类型定义(可选).文档元素.文档类型定义(DTD)的作用是定义 XML 文档的合法构建模块.DTD 可以在…
01-SQL注入漏洞原理与利用 预备知识: 了解HTTP协议,了解常见的数据库.脚本语言.中间件.具备基本的编程语言基础. 授课大纲: 第一章:SQL注入基础 1.1 Web应用架构分析1.2 SQLi注入环境搭建1.3 SQL注入原理分析1.4 MySQL注入方法逻辑运算及常用函数1.5 SQL注入流程1.6 SQL手工注入方法 第二章:SQL注入语法类型 2.1 union联合查询注入2.2 update注入2.3 insert注入2.4 oder by注入 第三章:SQL盲注 3.1 SQ…
前言: 对于java的代码审计我就是一个小白,没有代码基础(不会java),从0开始记录我的java漏洞的审计学习之旅.对于java来说是一门很难的语言,但是不去学习就永远不会.对于一门很复杂的语言如果学习的过于仔细专研原理追求完美,容易跑偏消耗积极性和精力,我学的是代码审计而不是java开发,所以我学的比较有针对性,对此仅仅是我个人看法. 00x1: java的基础知识,由于语言的特性,我不是去搞开发所以根据以往的语言经验,我直接在菜鸟的java教程过一遍基础语法,了解java的语言特性,语法…
PHP代码审计-php安全基础 php.ini选项 register_globals php>=4.2.0,php.ini 的 register_globals 选项的默认值预设为 Off,当 register_globals 的设定为 On 时,程序可以接收来自服务器的各种环境变量,包括表单提交的变量,而且由于 PHP不必事先初始化变量的值,从而导致很大的安全隐患. 实例1 //ex1.php <?php if (check_admin()) { $is_admin = true; } if…
SQL注入漏洞 SQL注入经常出现在登陆页面.和获取HTTP头(user-agent/client-ip等).订单处理等地方,因为这几个地方是业务相对复杂的,登陆页面的注入现在来说大多数是发生在HTTP头里面的client-ip和x-forward-for. 1.普通注入 普通注入是指最容易利用的SQL注入漏洞,比如直接通过注入union查询就可以查询数据库,一般的SQL注入工具也能够非常好地利用.普通注入有int型和string型 测试环境搭建: 数据库名为test  数据库表名userinf…
一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实际并无什么门槛要求,只需要理解基础的php语法规则,以及理解各种类型漏洞的出现原因则可以开始尝试审计php源代码.通常的漏洞演示中sql语句会直接传入php自带的函数传入数据库执行,但在实际的软件项目中,通常以面向对象的思想进行编程,则会涉及各种形式的封装,调用,以及不同风格的框架,在这个条件下,只…
作者:坏蛋链接:https://zhuanlan.zhihu.com/p/24472674来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实际并无什么门槛要求,只需要理解基础的php语法规则,以及理解各种类型漏洞的出现原因则可以开始尝试审计php源代码.通常的漏洞演示中…
ctf入门指南 如何入门?如何组队? capture the flag 夺旗比赛 类型: Web 密码学 pwn 程序的逻辑分析,漏洞利用windows.linux.小型机等 misc 杂项,隐写,数据还原,脑洞.社会工程.与信息安全相关的大数据 reverse 逆向windows.linux类 ppc 编程类的 国内外著名比赛 国外: 国内:xctf联赛 0ctf上海国内外都有,很强 入门需要哪些基础: 1.编程语言基础(c.汇编.脚本语言) 2.数学基础(算法.密码学) 3.脑洞大开(天马行…
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 关于 XiaoCms XiaoCms 企业建站版基于 PHP+Mysql 架构 是一款小巧.灵活.简单.易用的轻量级 cms.能满足各种企业站 博客 等中小型站点.(此cms貌似已经停止更新了) 01. 支持自定义内容模型 通过自定义内容模型和自定义字段可以轻松简单的定制出各种内容模型 如新闻模块…
之前学习了seay法师的代码审计与及80sec的高级审计,整理了一些笔记在印象里面,也发到这里作为记录 1,漏洞挖掘与防范(基础篇) sql注入漏洞            挖掘经验:注意点:登录页面,获取HTTP头,(user-agent/client-ip/x-forwarded-for,订单处理等.            注入类型:                   编码注入:                          1,宽字节注入:                      …
作者:i春秋核心白帽yanzmi 原文来自:https://bbs.ichunqiu.com/thread-42149-1-1.html 本期斗哥带来Java代码审计的一些环境和工具准备. Java这个语言相对于PHP来说还是比较复杂的,所以一开始接触到Java源码审计的时候会遇到一些关于环境和配置上一些困难,本文记录斗哥在开始去审计Java代码的一些准备,希望能够帮助到刚入门的新手朋友们. 0×00 Java环境说明 1. 安装Java环境 安装完成后默认的安装目录: 环境变量的配置,环境变量…
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~ 打开链接,就知道是道代码审计的题目,不过这题比较简单,我们一起看一下这段代码 $what=$_POST['what']; echo $what; if($what=='flag') echo 'flag{****}'; 意思是通过post传入一个参数what,如果what的值等于fl…
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~ 点开链接一看,就知道是道代码审计的题目,不过这题比较简单,我们一起看一下这段代码 $what=$_GET['what']; echo $what; if($what=='flag') echo 'flag{****}'; 意思是传入了一个参数what,当what的值等于flag,就会…
0x00 前言 java代码审计相关文章整理,持续更新. 0x01 java环境基础 搭建Java Web开发环境   配置IDEA编辑器开发java web,从0创建项目   IDEA动态调试   IDEA配置tomcat   maven配置和IDEA创建maven项目   IDEA如何导入eclipse项目   java基础环境配置,来自漏洞社区   0x02 java语法知识 菜鸟教程   理解java的三大特性之封装   理解java的三大特性之继承   理解java的三大特性之多态  …
0x00 前言 艰难徘徊这么久,终于迈出第一步,畏畏缩缩是阻碍大多数人前进的绊脚石,共勉. 系统是租车系统,这个系统是Adog师傅之前发在freebuf(http://www.freebuf.com/articles/web/162910.html)的,他审的时候没有发现sql注入,但在评论中有个师傅说有前台sql注入. 那么我就来找找前台的sql注入吧,虽说是java但其实代码审计的点都是通用的,万变不离其宗. 扯远了,这篇文章,算是踏入java代码审计领域的开篇. 0x01 基础环境搭建 源…
0x00 前言 最近几天国外安全研究员Soroush Dalili (@irsdl)公布了.NET Remoting应用程序可能存在反序列化安全风险,当服务端使用HTTP信道中的SoapServerFormatterSinkProvider类作为信道接收器并且将自动反序列化TypeFilterLevel属性设置为Full的时候会造成反序列化漏洞,从而实现远程RCE攻击,本文笔者从原理和代码审计的视角做了相关介绍和复现,并且归纳成.NET反序列化漏洞系列课程中的第五课 0x01 .NET Remo…
20155302<网络对抗>Exp5 MSF基础应用 实验内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如ms08_067; (1分) 1.2 一个针对浏览器的攻击,如ms11_050:(1分) 1.3 一个针对客户端的攻击,如Adobe:(1分) 1.4 成功应用任何一个辅助模块.(0.5分) 以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分. 知识储备 (1)MSF是…
0x00 前言 看了一下博客内最新的文章,竟然是3月28号的,一个多月没写文章了,博客都长草了. 主要是临近毕业,事情繁多,也没有啥时间和心情静下来写.. 不过现在的话,毕业的东西告一段落了,几乎没啥事了,总算能静下来好好学习. 发了篇文章在t00ls,不过是精简版的,有些地方没有细讲.之前也有伙伴留言说,文章放到t00ls,有些没账号的朋友看不到.这里我搬运一下. 0x01 基础环境审计版本为V1.2最后更新时间:2018-04-20用到的工具:vscode,phpstudy 0x02 前台注…
0x00 前言 在早些年刚接触web安全的时候,基础套路都是找注入--找后台--找上传点--找数据库备份--Getshell,然而在代码审计的角度,也存在类似的基本操作. 这里结合代码实例介绍白盒Getshell的两种常规姿势:写入配置文件Getshell.模块安装Getshell. 0x01 环境搭建 Doccms官网:http://www.doccms.com程序源码:DocCms2016下载地址:https://pan.baidu.com/s/1pLclifL 0x02 写入配置文件Get…
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 关于 XiaoCms XiaoCms 企业建站版基于 PHP+Mysql 架构 是一款小巧.灵活.简单.易用的轻量级 cms.能满足各种企业站 博客 等中小型站点.(此cms貌似已经停止更新了) 01. 支持自定义内容模型 通过自定义内容模型和自定义字段可以轻松简单的定制出各种内容模型 如新闻模块…
转:http://static.hx99.net/static/drops/tips-429.html 攻击JavaWeb应用[6]-程序架构与代码审计 园长 · 2013/08/12 16:53 注: 不管多么强大的系统总会有那么些安全问题,影响小的可能仅仅只会影响用户体验,危害性大点的可能会让攻击者获取到服务器权限.这一节重点是怎样去找到并利用问题去获取一些有意思的东西. Before: 有MM的地方就有江湖,有程序的地方就有漏洞.现在已经不是SQL注入漫天的年代了,Java的一些优秀的开源…
毕业季已经正式告一段落,这届毕业生都找到心仪的工作了吗? 正在实习期或者试用期的职场新人,是否在岗位上做的风生水起? 工作了一两年,从未升职加薪的菜鸟,还愿意继续原地踏步吗? 在校学生.IT从业者.毕业生.找工作人群.对Web安全感兴趣.面临转行人员......这些想要进入安全圈的新手小白,如何学习渗透测试专业的相关内容,又何如做到从入门到精通呢? 首先来检验一下大家的知识储备,了解一下自己的真实水平. 下面这些基础知识,是否都了解呢? 01.基本概念 学习内容如下: 1.Web应用框架与渗透测…