ctfshow - web21-28 - 爆破
题目都是ctfshow的,版权是ctfshow的!!!!!!如果侵权,联系立马删除
web21
题目
爆破什么的,都是基操
打开网页,跳出登录提示框,尝试使用admin/123登录,提示错误,抓包,发现Authorization字段。
将内容base64解码得,
使用burp产生密码集,payload sets选择custom iterator,position1输入admin:,position导入字典。
将字典编码,得到最后结果。
Ps:取消payload encoding。因为在进行base64加密的时候在最后可能存在 == 这样就会影响base64 加密的结果。
web22
题目
域名也可以爆破的,试试爆破这个ctf.show的子域名
上工具。
web23
题目
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-03 11:43:51
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-03 11:56:11
# @email: [email protected]
# @link: https://ctfer.com
*/
error_reporting(0);
include('flag.php');
if(isset($_GET['token'])){
$token = md5($_GET['token']);
if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){
if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){
echo $flag;
}
}
}else{
highlight_file(__FILE__);
}
?>
爆破合适的token。
detoken1
<?php
$a = "asdfghjklqwertyuiopzxcvbnm1234567890";
for($i=0;$i<36;$i++){
for($j=0;$j<36;$j++){
for($k=0;$k<36;$k++){
$flag = $a[$i].$a[$j].$a[$k];
$token = md5($flag);
if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){
if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){
echo $flag;
}
}
}
}
}
detoken2
import hashlib
dic = "0123456789qazwsxedcrfvtgbyhnujmikolp"
for a in dic:
for b in dic:
t = (str(a)+str(b)).encode("utf-8")
md5 = hashlib.md5(t).hexdigest()
if md5[1:2] == md5[14:15] and md5[14:15]== md5[17:18]:
if int(md5[1:2])+int(md5[14:15])+int(md5[17:18])/int(md5[1:2])==int(md5[31:32]):
print(t)
web24
题目
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-03 13:26:39
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-03 13:53:31
# @email: [email protected]
# @link: https://ctfer.com
*/
error_reporting(0);
include("flag.php");
if(isset($_GET['r'])){
$r = $_GET['r'];
mt_srand(372619038);
if(intval($r)===intval(mt_rand())){
echo $flag;
}
}else{
highlight_file(__FILE__);
echo system('cat /proc/version');
}
?>
mt_srand(num),mt_rand()生成的随机数为伪随机数,
得到r值。
参考网站:https://www.freebuf.com/vuls/192012.html
web25
题目
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-03 13:56:57
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-03 15:47:33
# @email: [email protected]
# @link: https://ctfer.com
*/
error_reporting(0);
include("flag.php");
if(isset($_GET['r'])){
$r = $_GET['r'];
mt_srand(hexdec(substr(md5($flag), 0,8)));
$rand = intval($r)-intval(mt_rand());
if((!$rand)){
if($_COOKIE['token']==(mt_rand()+mt_rand())){
echo $flag;
}
}else{
echo $rand;
}
}else{
highlight_file(__FILE__);
echo system('cat /proc/version');
}
php版本4.15,上php-mt-rand,
构造payload:
?r=1773218617
cookie:
token=??
token需要通过算出的种子,挨个尝试2、3次随机数的结果。
结果还是做不出来????
chrome的hackbar的cookie设置有问题,在burp中发送成功。
PS:chrome hackbar的cookies和referer有问题。
web26
打开源码,同时操作网页,第一个页面未发现特殊,install.php页面发现checkdb.php页面。
抓包,爆破密码。
web27
题目
根据题目提示,从录取名单和学生学籍信息查询系统入手,爆破出学生的出生年月,需要注意使用bp生成生日时,自定义格式应为yyyyMMdd。
mm为从5月开始。
爆破出的信息使用unicode解码,
web28
题目
使用burp爆破目录。