#php代码审计
文章平均质量分 86
吃饱饭,练球
网络空间安全小小白
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DAY113代码审计-PHP&TP框架&微P系统&漏审项目等
对file\_get\_contents函数后面的括号进行了正则过滤。禁止了assert函数对eval函数后面的括号进行了正则过滤。1、Good.php的不安全写法。1、5.x全版本的sql漏洞。6、验证登录token值固定。waf对eval进行了拦截。原创 2024-11-14 08:08:09 · 1281 阅读 · 0 评论 -
DAY112代码审计PHP开发框架&POP链利用&Yii反序列化&POP利用链
1、路由关系2、漏洞触发口unserialize(base64_decode($data));2、__destruct(),魔术法方法调用close函数方法3、未找到利用链,尝试__call魔术方法4、逆推找函数5、动态调试。原创 2024-11-14 08:04:49 · 974 阅读 · 0 评论 -
DAY111PHP开发框架&THIKNPHP&反序列化&POP利用链&RCE执行&文件删除
函数方法file_exists,@unlink($filename);//$relation可控,找到一个没有visible方法或不可访问这个方法的类时,即可调用_call()魔法方法。1、__destruct发现调用$this->removeFiles();4、逆向分析call_user_func。2、__toString利用链分析。1、文件删除poc-》rce利用。4、pop文件删除利用链的使用。5、input方法触发分析。3、call利用链分析。7、call方法调用了。8、利用链不会xie。原创 2024-11-12 11:47:51 · 1138 阅读 · 0 评论 -
DAY110代码审计-PHP框架开发篇&ThinkPHP&版本缺陷&不安全写法&路由访问&利用链
文件:application/bbs/controller/User.php。文件:application/bbs/controller/User.php。问题在where语句是直接拼接SQL-where("id ={$id}")1、查看版本-thinkphp/base.php(搜version找)如改为数组的传参就能修复此处问题-where("id",$id)2、PHP框架审计-ThinkPHP-不安全写法&版本漏洞。学习-ThinkPHP-架构&调试&路由&接受。满足条件:对应的函数点和可控变量。原创 2024-11-12 11:43:49 · 1409 阅读 · 0 评论 -
DAY109代码审计-PHP模型开发篇&动态调试&反序列化&变量覆盖&TP框架&原生POP链
unlink() file_get_contents() show_source() file() fopen()等。如file_exists(),fopen(),file_get_contents(),file()等文件操作的函数。extract() parse_str() importrequestvariables() $$ 等。$_GET,$_POST,$_REQUEST,$_FILES,$_SERVER等。__isset() //在不可访问的属性上调用isset()或empty()触发。原创 2024-11-10 16:58:52 · 1415 阅读 · 1 评论 -
DAY108代码审计-PHP模型开发篇&MVC层&动态调试未授权&脆弱鉴权&未引用&错误逻辑
这样就分析到哪个文件是用来鉴权的,在Cookie里给User一个值即可绕过鉴权。先验证鉴权(成功进入功能操作,失败就让其重新鉴权),后功能操作。断点获取到说明执行有未授权,获取不到没执行没未授权。断点获取到说明执行有未授权,获取不到没执行没未授权。直接在操作功能下断点发包测试(已登录和未登录)找鉴权看脆弱-脆弱的鉴权逻辑,鉴权逻辑可绕过。测试:直接在操作功能下断点发包测试(未登录)直接下断点到功能文件,直接执行功能那就有问题。找鉴权看引用-未引用鉴权逻辑,没有鉴权。2、PHP审计-文件对比-未授权安全。原创 2024-11-10 16:53:44 · 526 阅读 · 0 评论 -
Day107:代码审计-PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证
总结一下,该index方法实例化了一个名为parse的对象,并调用了其contents方法,将$this->id、$this->classid和$this->contentModel作为参数传递给该方法,并将方法的返回值输出到浏览器。第二行调用了$temModel对象的contents方法,并传递了$this->id、$this->classid和$this->contentModel作为参数。$_GET,$_POST,$_REQUEST,$_FILES,$_SERVER等。原创 2024-11-08 20:44:35 · 1328 阅读 · 0 评论 -
Day106:代码审计-PHP原生开发篇&文件安全&上传监控&功能定位&关键搜索&1day挖掘
如果$zip->getNameIndex(0)返回的是以/开头的路径,那么$r[0]将是一个空字符串。换句话说,视图是模型的可视化表示。如果isset($r[0])为true(即$r[0]存在),那么取出数组$r中索引为0的元素,并在其后添加一个正斜杠'/'。综上所述,这行代码用于从ZIP压缩包中提取的第一个文件(或目录)的路径,获取它的目录部分,并确保这个目录字符串以正斜杠结束。这个漏洞的挖掘时是艰难的,项目太大了,需要时间慢慢测试,才发现到upload.php,使用搜索的方式结果太多了。原创 2024-11-08 20:38:55 · 1376 阅读 · 0 评论 -
Day105:代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
综合以上部分,这个正则表达式可以匹配以update、select、insert、delete之一开始,之后是任意字符(但尽量少),接着是where关键字,最后是任意字符直到等号的字符串。它是一个非常灵活的模式,可以用来匹配任意文本内容。指定),匹配任意数量的任意字符(由.指定),但尽可能少地匹配字符。数据库监控->user.php无可控->nickname->添加不可控->data.php可控->导出修改导入->触发二次注入。在正则表达式中,.*是一个常见的模式,表示匹配任意数量的任意字符(除了换行符)。原创 2024-11-06 19:09:01 · 1464 阅读 · 0 评论
分享