PHP代码审计入门:平常的危险函数和审计点
<h2 style="color: black; text-align: left; margin-bottom: 10px;">01什么是危险函数</h2>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">函数设计出来<span style="color: black;">便是</span>让人<span style="color: black;">运用</span>的,之<span style="color: black;">因此</span>危险,是<span style="color: black;">由于</span>其功能过于强大.<span style="color: black;">研发</span>人员<span style="color: black;">尤其</span>是刚从业的人员很少会完整阅读完<span style="color: black;">全部</span>文档,再<span style="color: black;">或</span>是<span style="color: black;">无</span><span style="color: black;">认识</span>到当给这些函数传递<span style="color: black;">有些</span>非常规的,<span style="color: black;">外边</span>可控的参数会带来什么影响,<span style="color: black;">因此</span>踩坑的几率非常大.</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">因此</span>在进行代码审计的时候,比较多的部分都是在审计调用这些危险函数的时候,参数是不是<span style="color: black;">外边</span>可控的.有<span style="color: black;">无</span>进行正确的过滤.</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://pic3.zhimg.com/80/v2-71edd9779103ede626a41f75e794c376_720w.webp" style="width: 50%; margin-bottom: 20px;"></div>
<h2 style="color: black; text-align: left; margin-bottom: 10px;">02 PHP危险函数5大特征 </h2>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://pic1.zhimg.com/80/v2-24cd2900312a28f6d0852e28545ef064_720w.webp" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">2.1 能够执行任意代码的函数有三种:</p>
第1种是最<span style="color: black;">平常</span>的,会把传入的字符串当作php代码直接执行<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://pic3.zhimg.com/80/v2-3bc679cbb83c73d3943abe34fb9f760e_720w.webp" style="width: 50%; margin-bottom: 20px;"></div>第2种是<span style="color: black;">经过</span>引入文件执行php代码,php里引入文件执行代码的<span style="color: black;">仅有</span>4个函数<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://pic2.zhimg.com/80/v2-816484bbeda3f267b0aa116dd0ef8799_720w.webp" style="width: 50%; margin-bottom: 20px;"></div>第3种是<span style="color: black;">有些</span>数据处理函数,它们存在支持回调函数类型的参数,这个参数<span style="color: black;">能够</span>传入函数的字符串名<span style="color: black;">叫作</span>,一旦这个参数可控,<span style="color: black;">那样</span>可能<span style="color: black;">导致</span>漏洞,这些函数的特征非常<span style="color: black;">显著</span>,参数类型是callback形式,审计的基本上<span style="color: black;">便是</span>看<span style="color: black;">她们</span>的回调函数是不是用字符串的形式传递,<span style="color: black;">是不是</span>可控,在PHP里存在<span style="color: black;">海量</span>的这种函数,<span style="color: black;">这儿</span>只举5个比较<span style="color: black;">平常</span>的
你字句如珍珠,我珍藏这份情。 太棒了、厉害、为你打call、点赞、非常精彩等。 回顾过去一年,是艰难的一年;展望未来,是辉煌的一年。
页:
[1]