做网站和做电脑软件差别大吗php网站cms

张小明 2026/1/19 22:26:11
做网站和做电脑软件差别大吗,php网站cms,网站建设一般字体多大,上海网站备案核验点[羊城杯 2020]easyser 1.打开是一个ubuntu界面 查看源码没发现什么信息#xff0c;扫目录看一下 得到了这四个文件#xff0c;访问一下 index.php flag.php index.php/login/ robots.txt 都没啥信息#xff0c;只有robots.txt中发现了一个文件 访问一下 star1.php 这页面…[羊城杯 2020]easyser1.打开是一个ubuntu界面查看源码没发现什么信息扫目录看一下得到了这四个文件访问一下index.phpflag.phpindex.php/login/robots.txt都没啥信息只有robots.txt中发现了一个文件访问一下star1.php这页面 一出来就知道 是ssrf了 在源码中发现了 新发现说用不安全的协议从我家才能进ser.php那么使用 本地回环地址127.0.0.1访问一下ser.php然后向下滑发现了源码2.分析代码?php error_reporting(0); if ( $_SERVER[REMOTE_ADDR] 127.0.0.1 ) { highlight_file(__FILE__); } $flag{Trump_:fake_news!}; class GWHT{ public $hero; public function __construct(){ $this-hero new Yasuo; } public function __toString(){ if (isset($this-hero)){ return $this-hero-hasaki(); }else{ return You dont look very happy; } } } class Yongen{ //flag.php public $file; public $text; public function __construct($file,$text) { $this - file $file; $this - text $text; } public function hasaki(){ $d ?php die(nononon);?; $a $d. $this-text; file_put_contents($this- file,$a); } } class Yasuo{ public function hasaki(){ return Im the best happy windy man; } } ?首先是一个if语句只有remote_addr是127.0.0.1地址才能显示文件内容然后定义了一个假flagGWHT类一个公共属性heroconstruct方法触发了会将本类的hero属性赋值一个Yasuo类的对象一个toString方法触发了会有一个if判断语句检查是否有$this-hero有的话就return返回$this-hero调用它的hasaki方法Yongen类有个提示flag.php两个公共属性filetext一个construct方法里面接收两个参数$file和text都赋值为空触发了会让他们两个分别赋值给本类的file和text属性hasaki方法触发了会将?php die(nonono);?赋值给$d然后再将$d和本类的text属性进行一个拼接赋值给$a随后使用file_put_contents将$a的内容写入到$this-file中Yasuo类里面也要一个hasaki方法会返回一段文字3.开始构造这里的链子也很容易GWHT :: construct -- GWHT :: toString -- Yongen :: hasaki然后再使用base64编码绕过die死亡绕过也可以使用string.string.tags进行绕过或者string.strip_tags去除标签也能进行然后通过传参名c传入上去这些序列化的字段然后最后访问创建的这个文件执行命令就行了做题感觉到的疑惑的地方解释一下为什么会使用c参数名进行传参是使用arjun工具探测出来的记得加上-m get 和 --include?pathhttp://127.0.0.1/ 然后选择一个小字典加上线程为64然后还有就是toString方法是如何触发的看了一圈只有一个人对此有解释就是通过参数c传参然后触发的toString方法有点没看懂都是懵逼的地方4.知识点知道了一个参数探测工具arjunhttps://github.com/s0md3v/Arjun/工具地址还有一个die死亡绕过可以使用rot13和base64还有string.strip_targs进行绕过前两个的绕过原理都是利用解码将前面的?php die();?给解码掉然后再将自己想写入的给先编码一下最后的解码效果就是将 不想要的给解码成乱符了想要的就变成正常的webshell了string.strip_targs是利用去除标签来将前面的去除掉参考文章https://syunaht.com/p/1492341886.htmlhttps://tyskill.github.io/posts/ycb2020/#easyser[HZNUCTF 2023 preliminary]ppppop1.打开是个空白扫目录看源码无果抓包看一下发现了两个cookie的user值看着像base64编码解码 一下他这里面的isAdmin的值为0也就是 false将他修改为1True再传入发现了源码那么开始分析源码2.分析代码?php error_reporting(0); include(utils.php); class A { public $className; public $funcName; public $args; public function __destruct() { $class new $this-className; $funcName $this-funcName; $class-$funcName($this-args); } } class B { public function __call($func, $arg) { $func($arg[0]); } } if(checkUser()) { highlight_file(__FILE__); $payload strrev(base64_decode($_POST[payload])); unserialize($payload); }首先包含进来一个utils.php文件一个A类三个公共属性className、funcName、args一个destruct方法触发了是 一个任意实例化类类名为本类的className属性结果赋值给$class然后将本类的funcName属性赋值给$funcName然后让$class作为对象名调用它里面的$funcName方法 $this-args属性是它的方法参数B类一个call方法里面 接收两个参数$func$argc触发了会一个动态函数调用$func是函数名$arg的索引值为0的值是它的参数下面是一个if语句检查checkUser方法是否存在 如果存在的话就将POST传参的payload进行一本base64解密然后再让他们进行一个字符串反转就像abc会反转为cba然后赋值给$payload最后反序列化$payload2.开始构造因为就两个类所以就不用过多分析了让A类的className属性为B这样就能实例化B类了然后funcName为可以执行命令的值使用systemargs是要执行的命令就正常ls或者其他的就行了这样的$class-$funcName($this-args)就变成了B::system(ls)然后到了call方法中func是systemarg为ls变成了system(ls);还有就是下面的编码它是先进行了一遍base64解密再进行一次反转那么我想要满足它的解密方式的话就是先进行一个反转 再进行一个加密然后传参 就行了根目录下没发现flag查看一下环境变量下3.知识点考验对信息收集的能力注意观察cookie和其他的信息[NSSRound#4 SWPU]1zweb(revenge)1.开局一个上传框和查看文件框然后通过查询文件看看能不能查index.php可以查询但是不全使用伪协议进行一个读取然后就成功获得了upload.php和index.php的源码2.分析代码index.php?php class LoveNss{ public $ljt; public $dky; public $cmd; public function __construct(){ $this-ljtljt; $this-dkydky; phpinfo(); } public function __destruct(){ if($this-ljtMisc$this-dkyRe) eval($this-cmd); } public function __wakeup(){ $this-ljtRe; $this-dkyMisc; } } $file$_POST[file]; if(isset($_POST[file])){ if (preg_match(/flag/, $file)) { die(nonono); } echo file_get_contents($file); }首先是一个LoveNss类里面三个公共属性ljt、dky、cmdconstruct方法触发了会给本类的ljt属性赋值一个ljt然后给dky属性赋值一个dky然后一个phpinfo函数destruct方法触发了会if语句判断ljt属性是否强等于Miscdky是否为Re如果都满足就eval执行本对象的cmd属性的值wakeup方法触发了会将本类的ljt赋值一个Redky赋值一个Misc然后POST传参一个file并赋值给$file并检查是否存在file然后使用正则表达式判断$file中是否flag如果出现就die退出否的话就文件读取 $file文件的内容upload.php?php if ($_FILES[file][error] 0){ echo 上传异常; } else{ $allowedExts array(gif, jpeg, jpg, png); $temp explode(., $_FILES[file][name]); $extension end($temp); if (($_FILES[file][size] in_array($extension, $allowedExts))){ $contentfile_get_contents($_FILES[file][tmp_name]); $pos strpos($content, __HALT_COMPILER();); if(gettype($pos)integer){ echo ltj一眼就发现了phar; }else{ if (file_exists(./upload/ . $_FILES[file][name])){ echo $_FILES[file][name] . 文件已经存在; }else{ $myfile fopen(./upload/.$_FILES[file][name], w); fwrite($myfile, $content); fclose($myfile); echo 上传成功 ./upload/.$_FILES[file][name]; } } }else{ echo dky不喜欢这个文件 ..$extension; } } ?直接分析吧因为它的普通形式也就是1zweb也是这个上传代码就是它会检查上传的文件是否有包含phar文件的头部和它定义了一个白名单只能上传那几个图片然后撒谎给你次成功了会将它上传 到upload目录 下2.开始分析他这题在原有的基础上添加了一个不能出现flag字段不过我是eval执行完命令才进行读取所以flag直接就使用通配符来代替了没啥影响检测文件头部使用gzip压缩绕过然后绕过wakeup使用修改成员属性绕过链子就跟简单了就修改几个属性的值就行了3.开始构造首先看链子下面是用来生成phar文件的生成完的文件在使用winhex将他的成员属性修改一下蓝色的这个字段修改为4就行了这个时候修改了内容 他的签名就是废了所以需要使用脚本来进行修改签名修改完这个时候还是没有绕过头部检测的 在使用gzip进行压缩一下这个时候才是完全绕过的然后就是上传上去获得路径然后再使用phar进行反序列化phar://文件路径4.知识点这题再原有的 1zweb的基础上添加了一个检查flag字段操作只不过没啥影响还是phar反序列化 然后绕过wakeup绕过头部检查使用gzip绕过
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

浠水做网站的建设银行网站账号怎么注销

FreeIPA 实体管理全解析 1. 用户与组管理 1.1 用户账户恢复 当用户需要再次登录域时,我们可以快速恢复其账户。例如,恢复名为 “jose” 的用户账户,可使用以下命令: [root@quebec ~]# ipa user-undel jose ----------------------------- Undeleted user account &quo…

张小明 2026/1/17 16:17:30 网站建设

做笔记的网站12306网站建设多少钱

对 PDF、Excel、Word 和 PPT 文档进行有限但最有效的标注,关键在于:聚焦核心信息、保持简洁、便于后续检索或协作。以下是针对每种文档类型的具体建议: 一、通用原则(适用于所有格式) 明确标注目的 是用于审阅&#xf…

张小明 2026/1/17 16:17:30 网站建设

建筑网站翻译编辑wordpress多域名访问

在学术研究与社会实践中,问卷是收集数据、验证假设的核心工具。然而,传统问卷设计往往陷入两大困境:要么是新手研究者缺乏专业框架,设计出的问题逻辑混乱、针对性不足;要么是资深学者耗时数周打磨,却仍难避…

张小明 2026/1/17 16:17:33 网站建设

t恤在线制作网站办公室设计装修

计算机毕业设计同城汉服体验平台系统63f8h9 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。“想穿汉服拍照,却不知道哪里能租、谁能约、价格多少?”——这…

张小明 2026/1/17 16:17:34 网站建设

网站公司销售郑州网站建设e橙网熊掌号

第一章:Open-AutoGLM 与 Katalon Studio 测试适配差异在自动化测试领域,Open-AutoGLM 和 Katalon Studio 代表了两种截然不同的技术路径。前者基于大语言模型驱动测试脚本生成,强调自然语言理解与智能推理;后者则是传统的集成开发…

张小明 2026/1/17 16:17:34 网站建设

网站开发前端培训查询公司

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

张小明 2026/1/17 16:17:35 网站建设