tw4ld6 发表于 2024-10-4 16:59:06

PHP弱类型你真的懂了吗?

<img src="https://mmbiz.qpic.cn/mmbiz_gif/3xxicXNlTXLicwgPqvK8QgwnCr09iaSllrsXJLMkThiaHibEntZKkJiaicEd4ibWQxyn3gtAWbyGqtHVb0qqsHFC9jW3oQ/640?wx_fmt=gif&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1" style="width: 50%; margin-bottom: 20px;">
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><span style="color: black;">文案</span><span style="color: black;">源自</span>:</strong><span style="color: black;"><strong style="color: blue;">仙桥六号部队</strong></span></p><span style="color: black;">在一次渗透测试中,<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><span style="color: black;">于是我又进行了一波仔细的信息搜集,<span style="color: black;">发掘</span>系统中存在phpList,顿时,我眼前一亮——我记得以前看到过phplist的<span style="color: black;">关联</span>漏洞。</span><span style="color: black;"><span style="color: black;">随即</span>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">我<span style="color: black;">起始</span>搜索phplist的历史漏洞,经过我的一通操作,<span style="color: black;">最后</span>确定phplist的版本为3.5.0,漏洞为弱类型漏洞,利用弱类型漏洞登录进去,之后就一切顺利了。</p>
    </span><span style="color: black;"><span style="color: black;">因为</span>在客户<span style="color: black;">设备</span>上做的渗透,截图神马的都<span style="color: black;">无</span>······下面我在本机上搭建了一个环境,对phplist3.5.0弱类型漏洞进行一下复现。</span><span style="color: black;"><strong style="color: blue;">1</strong></span><span style="color: black;"><strong style="color: blue;">复现过程</strong></span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">phpList 3.5.0版本存在的安全漏洞编号是CVE-2020-5847,该漏洞源于程序<span style="color: black;">无</span>正确处理开头为0e之后<span style="color: black;">所有</span>为数字字符的哈希值。远程攻击者可利用该漏洞绕过管理员账户的身份验证。</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">首要</span>下载phpList 3.5.0-RC1,<span style="color: black;">而后</span>解压找到这个目录:</span></p><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMfbc4oOV0SN424M897sM3PcibGHbOuCPUuDB0jTs0IwJUYsiaJS0icyUQ7g/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;">将这个目录拷贝到网站目录下,并重命名。</span><span style="color: black;">修改</span><span style="color: black;">config/config.php</span><span style="color: black;">配置文件,设置要连接的数据库和账户<span style="color: black;">秘码</span>:</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMfeCVBheauBfQWXmQvBqaJjXzkUibKoPRToQNNv9K61NdU0SatUHDzicSQ/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;"><span style="color: black;">同期</span><span style="color: black;">创立</span>phplistdb数据库。</span><span style="color: black;"><span style="color: black;">拜访</span>http://127.0.0.1/phplist/admin/;</span><span style="color: black;">接下来初始化安装,设置管理员的账号<span style="color: black;">秘码</span>:</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMfI3ia3cLoUz1QmHHdzMcuPptibCGv8gIcBN6NUkOBuWI0GtXf44Is8eZw/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;"><span style="color: black;">这儿</span>的<span style="color: black;">秘码</span>要设置成 sha256 后以</span><span style="color: black;">0e</span><span style="color: black;">开头的字符串,如</span><span style="color: black;">TyNOQHUS。</span><span style="color: black;"><span style="color: black;">咱们</span>再次<span style="color: black;">拜访</span>后台,以<span style="color: black;">秘码</span>&nbsp;</span><span style="color: black;">34250003024812</span><span style="color: black;">进行登录,其sha256后<span style="color: black;">亦</span>是以</span><span style="color: black;">0e</span><span style="color: black;">开头。</span><span style="color: black;">“TyNOQHUS——</span><span style="color: black;">hash :</span><span style="color: black;">0e66298694359207596086558843543959518835691168370379069085300385”</span><span style="color: black;">“34250003024812——hash:</span><span style="color: black;">0e46289032038065916139621039085883773413820991920706299695051332”</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMfOwdksxRWMbuM6lWHh7yAk1nhGPIMLMyS7CAHibvNCgAW3iav0LGLL1Og/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;">登录成功,漏洞验证成功:</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMfd3XeW8AqJiaU2AMKVO5C7eGibTwib3MpoSre3aYaAWKsj8MP08cP4S1Qg/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;">下面还是<span style="color: black;">详细</span>分析一下漏洞处的代码。</span><span style="color: black;">验证管理员登录的PHP文件为:</span><span style="color: black;">“phpListAdminAuthentication.php”</span><span style="color: black;">登录时,<span style="color: black;">秘码</span>传入其中,经过if判断后,<span style="color: black;">能够</span>看到</span><span style="color: black;">$encryptedPass</span><span style="color: black;">(<span style="color: black;">秘码</span>sha256后的值)是<span style="color: black;">运用</span></span><span style="color: black;">==</span><span style="color: black;">来判断和数据库中的值<span style="color: black;">是不是</span><span style="color: black;">同样</span>,即$encryptedPass == $passwordDB。</span><span style="color: black;">PHP弱类型比较,就会<span style="color: black;">导致</span></span><span style="color: black;">0exxxxx == 0eyyyyy</span><span style="color: black;">(会把每一个以”0e”开头的哈希值都解释为0),<span style="color: black;">详细</span>代码如下图:</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMfvu2EGuUerKicOFbeNnPuGkbNbE9WNLD4d8kRXBqgZIqiaYRWFT2cQDog/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;"><strong style="color: blue;">2</strong></span><span style="color: black;"><strong style="color: blue;">什么是PHP弱类型</strong></span><span style="color: black;"><span style="color: black;">首要</span>先说一下,什么是强类型和弱类型?</span><span style="color: black;">语言<span style="color: black;">一般</span>被分为强类型和弱类型两种。强类型指的是强制数据类型的语言,换句话说,一个变量一旦被定义了成某个类型,<span style="color: black;">倘若</span>不经过强制类型转换,这个变量就<span style="color: black;">始终</span>是这个类型。</span><span style="color: black;">在变量<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><span style="color: black;">PHP作为最受欢迎的开源脚本语言,越来越多的应用于Web<span style="color: black;">研发</span><span style="color: black;">行业</span>。<span style="color: black;">同期</span>PHP属于弱类型语言,即定义变量的时候<span style="color: black;">不消</span>声明它是什么类型。</span><span style="color: black;">弱类型确实给程序员书写代码带来了很大的便利,<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><span style="color: black;"><span style="color: black;">PHP官方<span style="color: black;">亦</span>给出了类型比较表,表格<span style="color: black;">表示</span>了 PHP&nbsp;</span><span style="color: black;">类型</span><span style="color: black;">和</span><span style="color: black;">比较运算符</span><span style="color: black;">在松散和严格比较时的<span style="color: black;">功效</span>。</span></span><span style="color: black;">松散比较:</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMfCWKJZFaibib4AkIs8Ic1qcNySmJ6BMEuYdPQjDo5jfvVrhiakicEUEiaIicQ/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;">严格比较:</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMfpEKfOse80jxV9OkKRDOc4L4rmywUzyLXnoMDUr1YrUXf2jyr9sL9Rg/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;">总结一下PHP弱类型产生漏洞的原理:</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0e”开头的哈希值都解释为0,<span style="color: black;">因此</span><span style="color: black;">倘若</span>两个<span style="color: black;">区别</span>的<span style="color: black;">秘码</span>经过哈希以后,其哈希值都是以”0e”开头的,<span style="color: black;">那样</span>PHP将会认为<span style="color: black;">她们</span>相同,都是0。</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">当<span style="color: black;">区别</span>类型的变量进行比较的时候就会存在变量转换的问题,在转换之后就有可能会存在弱类型问题。例如需要将GET<span style="color: black;">或</span>是POST的参数转换为int类型,<span style="color: black;">或</span>是两个变量不匹配的时候,PHP会自动地进行变量转换。<span style="color: black;">然则</span>PHP是一个弱类型的语言,<span style="color: black;">引起</span>在进行类型转换的时候就会产生弱类型<span style="color: black;">关联</span>的漏洞。</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">函数转换出错时导致的弱类型问题,例如:strcmp函数参数str1不为预期的String类型时(例如数组,),在PHP 5.3版本之前将返回-1,5.3之后的版本将返回NULL。</span></p><span style="color: black;"><span style="color: black;">经过</span>以上方式<span style="color: black;">能够</span>产生<span style="color: black;">秘码</span>重置、绕过管理员账户的身份验证、注入、cookie伪造等弱类型漏洞。<span style="color: black;">有些</span>CTF试题<span style="color: black;">亦</span>会利用其弱类型进行设置<span style="color: black;">有些</span>如MD5碰撞、十六进制转换等问题。</span><span style="color: black;">下面<span style="color: black;">经过</span><span style="color: black;">有些</span>漏洞实例来进行说明。</span><span style="color: black;"><strong style="color: blue;">3</strong></span><span style="color: black;"><strong style="color: blue;">CVE-2014-0166(WordPress Cookie伪造)&nbsp;</strong></span><span style="color: black;">在wordpress-3.8.2的补丁中有以下代码:</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMf3Q1HntG5n5ic7or1ia1W255HALe3a1gIgoicpmQNSCeicxd0KoxKYibA5Hw/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;">而在wordpress-3.8.1的相对应的PHP代码是<span style="color: black;">这般</span>的:</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMfmemSXCuFXT23GkQ8a0CPflO6tmcWGMDt4I7v3AopruFXImN3OEVs7Q/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;"><span style="color: black;">经过</span>对比<span style="color: black;">咱们</span>自然把<span style="color: black;">所有</span>的关注点放到!=与!==上来。</span><span style="color: black;">再看php manual中给出的例子:</span><span style="color: black;">&lt;?php</span><span style="color: black;"> var_dump(0 == "a"); // 0 == 0 -&gt; true</span><span style="color: black;"> var_dump("1" == "01"); // 1 == 1 -&gt; true</span><span style="color: black;"> var_dump("10" == "1e1"); // 10 == 10 -&gt; true</span><span style="color: black;">var_dump(100 == "1e2"); // 100 == 100 -&gt; true</span><span style="color: black;">?&gt;</span><span style="color: black;">字符串在与数字比较前会自动转换为数字,<span style="color: black;">因此</span>0=="a"了。</span><span style="color: black;">回到wordpress的验证代码上来。</span><span style="color: black;">先生成<span style="color: black;">按照</span>用户名($username)、<span style="color: black;">秘码</span>($pass_frag)、cookie有效期 ($expiration)、wp-config.php中的key($key)四个信息计算出对应的$hash, <span style="color: black;">而后</span>用cookie中取得的$hmac值与之进行比较($hmac != $hash ),从而验证cookie有效性。</span><span style="color: black;">cookie的格式是<span style="color: black;">这般</span>的:</span><span style="color: black;">wordpress_hashofurl=username|expiration|hmac</span><span style="color: black;"><span style="color: black;">咱们</span>能<span style="color: black;">掌控</span>的变量有$username和$expiration,其中$username需要固定。于是<span style="color: black;">咱们</span><span style="color: black;">能够</span><span style="color: black;">经过</span><span style="color: black;">掌控</span>cookie中的$expiration去改变$hash的值,<span style="color: black;">而后</span>将cookie中的$hmac设置为0。</span><span style="color: black;">只要<span style="color: black;">持续</span>改变$expiration,找到满足$hash=="0"的$hash,就成功伪造了有效的cookie。</span><span style="color: black;"><strong style="color: blue;">4</strong></span><span style="color: black;"><strong style="color: blue;">
            <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">HDwiki sql注入</p>
      </strong></span><span style="color: black;">在/control/list.php中,代码如下:</span><img src="https://mmbiz.qpic.cn/mmbiz_png/WTOrX1w0s57Iffz90hy8WUXPGxYJHVMf0Uvm1rvT3As7Tw0s951mapUmFKBiadjJIDpbAv0BWibtBl1WtrFl1ibmg/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;">分析代码可知,</span><span style="color: black;">从GET里<span style="color: black;">得到</span>$doctype,即$doctype = $this-&gt;get,接着进入一个switch语句。<span style="color: black;">咱们</span>看到后面直接将$doctype带入SQL语句了:</span><span style="color: black;">$count=$this-&gt;db-&gt;fetch_total(focus,"type=$doctype");</span><span style="color: black;">只要这个switch语句不影响$doctype的值,后面就能注入了。</span><span style="color: black;"><span style="color: black;">咱们</span>看到case 2和case 3的结果都不会改变$doctype的值,但<span style="color: black;">倘若</span>进入default是会将$doctype改为1。</span><span style="color: black;"><span style="color: black;">这儿</span>就犯了一个“弱类型”的错误,当一个字符串和一个数字比较的时候,是会先将字符串强制类型转换后再与数字比较。</span><span style="color: black;"><span style="color: black;">因此</span>我传入doctype是2xxxx的时候,<span style="color: black;">实质</span>上是会进入case 2而不是default。出了switch语句后,doctype的值还是2xxxx,而不是2。</span><span style="color: black;"><span style="color: black;">因此</span>之后的:</span><span style="color: black;">$count=$this-&gt;db-&gt;fetch_total(focus,"type=$doctype");</span><span style="color: black;">$doctype带入SQL语句<span style="color: black;">导致</span>注入。</span><span style="color: black;"><strong style="color: blue;">
            <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">5</p>
      </strong></span><span style="color: black;"><strong style="color: blue;">CTF中的利用</strong></span><strong style="color: blue;"><span style="color: black;">《MD5碰撞》:</span></strong><span style="color: black;">&lt;?php</span><span style="color: black;"> if (isset($_GET) &amp;&amp; isset($_GET)) {</span><span style="color: black;">$logined = true;</span><span style="color: black;"> $Username = $_GET;</span><span style="color: black;"> $password = $_GET;</span><span style="color: black;"> if (!ctype_alpha($Username)) {$logined = false;}</span><span style="color: black;">if (!is_numeric($password) ) {$logined = false;}</span><span style="color: black;"> if (md5($Username) != md5($password)) {$logined = false;}</span><span style="color: black;"> if ($logined){</span><span style="color: black;"> echo "successful";</span><span style="color: black;"> }else{</span><span style="color: black;"> echo "login failed!";</span><span style="color: black;"> }</span><span style="color: black;"> }</span><span style="color: black;"> ?&gt;</span><span style="color: black;">这个题目的意思是,输入一个数字和一个字符串,并且让<span style="color: black;">她们</span>的MD5值相同,才<span style="color: black;">能够</span>得到successful。</span><span style="color: black;">0e在比较的时候会将其视<span style="color: black;">做为</span>科学计数法,<span style="color: black;">因此</span>无论0e后面是什么,0的多少次方还是0。</span><span style="color: black;"><span style="color: black;">因此</span><span style="color: black;">咱们</span>只需要输入一个数字和字符串,进行MD5加密之后都为0e,<span style="color: black;">就可</span>得出答案。</span><span style="color: black;">md5(240610708) == md5(QNKCDZO)</span><span style="color: black;">成功绕过。</span><strong style="color: blue;"><span style="color: black;">《起名字真难》:</span></strong><span style="color: black;">&lt;?php</span><span style="color: black;">function noother_says_correct($number)</span><span style="color: black;">{</span><span style="color: black;"> $one = ord(1);</span><span style="color: black;"> $nine = ord(9);</span><span style="color: black;"> for ($i = 0; $i &lt; strlen($number); $i++)</span><span style="color: black;"> { </span><span style="color: black;"> $digit = ord($number{$i});</span><span style="color: black;">if ( ($digit &gt;= $one) &amp;&amp; ($digit &lt;= $nine) )</span><span style="color: black;"> {</span><span style="color: black;"> return false;</span><span style="color: black;"> }</span><span style="color: black;"> }</span><span style="color: black;"> return $number == 54975581388;</span><span style="color: black;">}</span><span style="color: black;">$flag=*******;</span><span style="color: black;">if(noother_says_correct($_GET))</span><span style="color: black;"> echo $flag;</span><span style="color: black;">else</span><span style="color: black;">echo access denied;</span><span style="color: black;">?&gt;</span><span style="color: black;">题目大致的意思<span style="color: black;">便是</span>,输入一串key,key不<span style="color: black;">能够</span>是数字的形式,<span style="color: black;">然则</span>却<span style="color: black;">需求</span>与数字54975581388相等,才<span style="color: black;">能够</span>拿到flag。</span><span style="color: black;">看完题目就<span style="color: black;">晓得</span><span style="color: black;">需求</span>字符串和数字进行比较,<span style="color: black;">因此</span>:</span><span style="color: black;">$number == 54975581388;</span><span style="color: black;">看到这就想到了弱类型,54975581388与之匹配的十六进制的字符串是0xccccccccc。</span><span style="color: black;">全不是数字,自然就绕过了,得到flag。</span><span style="color: black;"><strong style="color: blue;">6</strong></span><span style="color: black;"><strong style="color: blue;">结语</strong></span><span style="color: black;">看到<span style="color: black;">这儿</span>相信<span style="color: black;">大众</span>都对PHP弱类型比较<span style="color: black;">认识</span>了,当然还有<span style="color: black;">非常多</span>其他的漏洞实例,<span style="color: black;">这儿</span>就不一一列举了。</span><span style="color: black;">下面列举<span style="color: black;">有些</span>以0e开头的字符串的md5的hash值:</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">s214587387a:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e848240448830537924465865611904;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">s1502113478a:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e861580163291561247404381396064;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">s1091221200a:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e940624217856561557816327384675;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">s1665632922a:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e731198061491163073197128363787;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">s1885207154a:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e509367213418206700842008763514;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">s1836677006a:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e481036490867661113260034900752;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">s1665632922a:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e731198061491163073197128363787;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">s878926199a:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e545993274517709034328855841020;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">QLTHNDT:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e405967825401955372549139051580;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">QNKCDZO:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e830400451993494058024219903391;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">EEIZDOI:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e782601363539291779881938479162;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">TUFEPMC:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e839407194569345277863905212547;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">UTIPEZQ:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e382098788231234954670291303879;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">UYXFLOI:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e552539585246568817348686838809;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">IHKFRNS:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e256160682445802696926137988570;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">240610708:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e462097431906509019562988736854;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">314282422:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e990995504821699494520356953734;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">571579406:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e972379832854295224118025748221;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">903251147:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e174510503823932942361353209384;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">1110242161:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e435874558488625891324861198103;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">1320830526:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e912095958985483346995414060832;</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">1586264293:</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">0e622743671155995737639662718498;</span></p><span style="color: black;">感谢阅读,下次再见!</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">&nbsp;侵权请私聊公众号删文</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="data:image/svg+xml,%3C%3Fxml version=1.0 encoding=UTF-8%3F%3E%3Csvg width=1px height=1px viewBox=0 0 1 1 version=1.1 xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink%3E%3Ctitle%3E%3C/title%3E%3Cg stroke=none stroke-width=1 fill=none fill-rule=evenodd fill-opacity=0%3E%3Cg transform=translate(-249.000000, -126.000000) fill=%23FFFFFF%3E%3Crect x=249 y=126 width=1 height=1%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E" style="width: 50%; margin-bottom: 20px;"></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="data:image/svg+xml,%3C%3Fxml version=1.0 encoding=UTF-8%3F%3E%3Csvg width=1px height=1px viewBox=0 0 1 1 version=1.1 xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink%3E%3Ctitle%3E%3C/title%3E%3Cg stroke=none stroke-width=1 fill=none fill-rule=evenodd fill-opacity=0%3E%3Cg transform=translate(-249.000000, -126.000000) fill=%23FFFFFF%3E%3Crect x=249 y=126 width=1 height=1%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E" style="width: 50%; margin-bottom: 20px;"></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="data:image/svg+xml,%3C%3Fxml version=1.0 encoding=UTF-8%3F%3E%3Csvg width=1px height=1px viewBox=0 0 1 1 version=1.1 xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink%3E%3Ctitle%3E%3C/title%3E%3Cg stroke=none stroke-width=1 fill=none fill-rule=evenodd fill-opacity=0%3E%3Cg transform=translate(-249.000000, -126.000000) fill=%23FFFFFF%3E%3Crect x=249 y=126 width=1 height=1%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E" style="width: 50%; margin-bottom: 20px;"></p>




4lqedz 发表于 2024-11-8 18:55:57

祝福你、祝你幸福、早日实现等。
页: [1]
查看完整版本: PHP弱类型你真的懂了吗?