文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Web攻防--PHP特性&CTF考点

2023-10-05 17:42

关注

本文分享的一些PHP代码的缺陷对比函数和CTF的一些考点

知识点:

过滤函数缺陷绕过

CTF考点与代码审计

例如:在PHP 语言中==与===(区别在于==不会对比类型===类型也会对比)

缺陷:两个等号的缺陷就是不唯一

下图是一个简易的代码,flag的输出条件就是如果我们GET传参的值==$a 那么就输出flag

经过测试可以看到我们传递的参数是x=1admin可以看到代码中$a=1但是还是输出flag了,这就是==的缺陷。

 Md5案例:==时MD5判断方法是0e开头相同的加密值他们就相等。当出现===时采用数组进行绕过(MD5加密不了数组),因为md5不能判断数组返回null值,两边都返回null就会相等。所以我们要是想要输出flag那么就传递数组就可以。

 PHP常用函数:intval:用来获取函数的整数值,改用其他进制进行传参

 strpos:查找php在字符串中第一次出现的位置

用法:

 绕过:

 

in_array:在数组中寻找特定值

在调用该函数时,第三个参数不设置true值时就等同于==,不判断类型

 preg_match:执行正则表达式函数

代码意思即不让输入0-9,判断还必须是数字(直接数组绕过)

参数:i是不区分大小写,m是检测换行,第一个检测换行,第二个不检测。%0a换行的意思

 str_replace:过滤替换函数

ctf:前边加./不会改变文件名,还可以不影响路径

 案例:代码审计-文件读取

 源码看到只过滤一次,所以我们可以输入…..///进行绕过,过滤后变成../那么我们绕过了过滤就可以访问任意文件了,比如数据库配置文件,查看用户名密码

 

来源地址:https://blog.csdn.net/weixin_68243135/article/details/127866393

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯