代码审计变成CTF】的更多相关文章

0x01 代码审计中的信息收集 一个cms代码量确实不少,通读代码耗时长,效果也不一定好.而一个功能点如果之前出过漏洞,特别是多次出现漏洞的地方,证明开发者对这个漏洞的理解不充分,很容易再次绕过补丁.这样,一整个CMS的代码审计就可以降维到一道ctf题目.特别是对于经常参加ctf的各位大佬来说,这样的代码审计更加简单休闲.我记得之前也有机构统计过,出过漏洞的地方更容易再次出现漏洞,普通CMS的开发者通常不是专业的安全人员,也不一定有专业的安全专家协助修复,再次出现漏洞的可能性就更大了. 我以gi…
正巧在写代码审计的文章,无意间看到了一篇CTF的代码审计,CTF题目很好,用的姿势正如标题,文件包含和伪协议. 先放出原文链接(http://www.freebuf.com/column/150028.html) 题目源自国外某挑战平台,平台上还有许多其他有趣的challenges题目. 站点地址:http://chall.tasteless.eu/ 这次的题目链接:http://level3.tasteless.eu/ 下面就做题吧. 首先看下源码 <?php highlight_file('…
0x00 简介 最近这几天看到了许多关于代码审计的ctf题,在电脑里也翻出来好长时间没看过的php_bugs,干脆最近把这个好好看看! 下载地址:https://github.com/bowu678/php_bugs 0x01 变量覆盖 1.1 extract() 该函数使用数组键名作为变量名,使用数组键值作为变量值.针对数组中的每个元素,将在当前符号表中创建对应的一个变量.条件:若有EXTR_SKIP则不行. 一个简单的变量覆盖的例子: <?php $a = 1; //原变量值为1 $b =…
虽然PHP是世界上最好的语言,但是也有一些因为弱类型语言的安全性问题出现.WordPress历史上就出现过由于PHP本身的缺陷而造成的一些安全性问题,如CVE-2014-0166 中的cookie伪造就是利用了PHP Hash比较的缺陷. 当然一般这种情况实战中用到的不是很多,但是在CTF竞赛中却是一个值得去考察的一个知识点,特此记录总结之. 一.精度绕过缺陷 理论 在用PHP进行浮点数的运算中,经常会出现一些和预期结果不一样的值,这是由于浮点数的精度有限.尽管取决于系统,PHP 通常使用 IE…
2020.09.09 今天来了一个新平台,WeChall,从简单的开始做,才能找到自信--i春秋的题做自闭了…
这两天看了很多web漏洞扫描器编写的文章,比如W12scan以及其前身W8scan,还有猪猪侠的自动化攻击背景下的过去.现在与未来,以及网上很多优秀的扫描器和博客,除了之前写了一部分的静湖ABC段扫描器,接下来有空的大部分时间都会用于编写这个扫描器,相当于是对自己的一个阶段性挑战吧,也算是为了完善自己的技术栈. 因为想把扫描器做成web应用,像W12scan,bugscan,AWVS那样的,部署好了之后登陆,添加需要扫描的url,自动化进行漏洞扫描,首先需要将扫描器的web界面完成,也就是前后端…
记一次参加CTF比赛翻车记!   开始还是挺有信心的,毕竟也是经常打一些CTF锻炼,然而比赛发现大佬们平时不显山不漏水的一比赛全出来了!赛后看了一下各题的writeup发现自己的确技不如人啊!借鉴一个案例拿出来分析一下! 正言:   这是入口界面登录+注册,开始注册登录看了一下   有了一个简单的提示:你好啊,但是你好像不是XDSEC的人,所以我就不给你flag啦~~ 然而成功误导了我,百度了一番找到XDSEC官网,拿XDSEC的队员名称注册了一番,并无卵用!然后爆破目录.并无任何发现. 思路断…
PHP代码审计 01 题目URL:http://www.whalwl.xyz:8017 提示:源代码有泄露 既然提示有源代码泄露,我们就先扫描一遍. 精选CTF专用字典: https://github.com/gh0stkey/Web-Fuzzing-Box/blob/main/Dir/Ctf.txt 推荐使用7kbscan进行扫描, https://github.com/7kbstorm/7kbscan-WebPathBrute 线程调成1,然后加载字典,找到svn 那应该就是SVN源代码泄露…
这道题不是说太难,但是思路一定要灵活,灵活的利用源码中给的东西.先看一下源码. 首先要理解大意. 这段源码的大致的意思就是,先将flag的值读取放在$flag里面. 后面再接受你输入的值进行判断(黑名单).说实话这道题后面把eval去掉也是可以做的.既然这道题把flag的值放进了变量里面,那么我们就需要将其输出就行了!! 当然这里面是有waf的. 我们看一下吧 基本的waf都在这里面.其他的都好理解,就是那个get_defined_functions()有点不同. 查了一下大致意思就是说输出当前…
0X01代码的详细讲解 0X02代码分析完了 我们来理一下 思路 条件 A POST提交一个number参数的值不能为纯数字 C number取整数后是回文数 D number经过strval转译后的值不能为回文 <?php $str="0e-0%00"; echo $int=intval($str); echo ':'; //转换后数值:123 echo $float=floatval($str); //转换后数值:123.9 echo ':'; echo $str=strva…