ctfshow web入门 爆破 21-28

这篇具有很好参考价值的文章主要介绍了ctfshow web入门 爆破 21-28。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

web21

刚进去就要求我们登录,这里题目给了我们一个字典,就是这个字典为什么他那么多数字中 就一个字母的密码还不明显吗。

ctfshow web入门 爆破 21-28 

这里我们使用burp拦包,这里没有发现登录的账号密码,但是有一串可疑的字符串,尝试base64解密

ctfshow web入门 爆破 21-28

这我们就得到了,我们测试用的账号密码了,这里将包移到Intruder中准备爆破

ctfshow web入门 爆破 21-28

设置burp,添加payload位置到这里

ctfshow web入门 爆破 21-28

这里有三个步骤,首先从文件加载我们选择给我们的字典文件,下面添加我们需要添加两个一个是前缀,一个是base64加密,最下面我们把url编码取消掉

ctfshow web入门 爆破 21-28

 然后我们开始爆破,选择长度不一样的包,我们就获得了flag

ctfshow web入门 爆破 21-28

web22

域名失效了呃呃呃

ctfshow web入门 爆破 21-28

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: h1xa@ctfer.com
# @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__);

}
?>

这里分析一下代码,他会检查md5值的第二、十五、十八个字符是否相等。如果它们相等,那么它会将这三个字符转换为整数并计算它们的和,然后将这个和除以哈希值的第一个字符,判断这个结果是否等于哈希值的第三十一个字符。

 第一种方法

肯定还是选择爆破

ctfshow web入门 爆破 21-28

ctfshow web入门 爆破 21-28

第二种方法

我们写脚本跑出来

import hashlib

text = '0123456789qazwsxedcrfvtgbyhnujmikolp'
for i in text:
    for j in text:
        t = str(i) + str(j)
        md5_text = hashlib.md5(t.encode("utf-8")).hexdigest()
        if md5_text[1:2] == md5_text[14:15] and md5_text[14:15] == md5_text[17:18]:
            print(t)

 ctfshow web入门 爆破 21-28

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: h1xa@ctfer.com
# @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');
} 

 get传输r=1155388967

ctfshow web入门 爆破 21-28 

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: h1xa@ctfer.com
# @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');
} 

分析一下代码,这里虽然我们无法确定种子值了,但是我们可以获得他随机值,这里随便传入一个值,我们根据值爆破他的种子

爆破工具 初次使用需要用make编译一下

$rand = intval($r)-intval(mt_rand()); 

我们获取的是rand的值,所以我们通过r传入1,那么我们获得的值就要加1,传入0不用改

这里我们先通过f12拦包,获得环境的php版本

ctfshow web入门 爆破 21-28

ctfshow web入门 爆破 21-28

因为这里所以rand必须为零所以我们需要传入我们获得到的随机值,因为rand上面赋值的时候已经使用过一次mt_rand,所以我们要的是让第二和第三次的值相加

if((!$rand)){
        if($_COOKIE['token']==(mt_rand()+mt_rand())){
            echo $flag;
        }
    }
<?php
 
mt_srand(3486625448); //这个种子值要看自己的
echo mt_rand().PHP_EOL;
echo mt_rand()+mt_rand();

 ctfshow web入门 爆破 21-28

web26

按照他的提示,填写,没有按照成功,怀疑是密码的问题,这里去爆破一下,没有爆破出来,这里去看看别人的,发现是7758521,这个。。太大了吧,根本爆破不出来

ctfshow web入门 爆破 21-28

ctfshow web入门 爆破 21-28

web27

 这里有两个一个录取名单,还有一个查询系统,查询系统需要身份证号,但是录取名单里面只有一部分,这里分析一下。

ctfshow web入门 爆破 21-28

这里一部分是出生年月,这样我们就好爆破了,我的建议还是写脚本方便一点,也可以使用burp

ctfshow web入门 爆破 21-28

用谷歌拦查询系统的包,然后将身份证中间的进行爆破

ctfshow web入门 爆破 21-28ctfshow web入门 爆破 21-28

ctfshow web入门 爆破 21-28

解密得到   恭喜您,您已被我校录取,你的学号为02015237 初始密码为身份证号码

登录获得flag

web28

这个题目的目录很不对劲,这里我们爆破目录看看,第一次爆破没有什么东西,这里我们将2.txt去掉,重新爆破,发现flag

ctfshow web入门 爆破 21-28文章来源地址https://www.toymoban.com/news/detail-429096.html

到了这里,关于ctfshow web入门 爆破 21-28的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • ctfshow--web入门--文件上传

    ctfshow--web入门--文件上传

    目录 ctfshow--web入门--文件上传 web151(前端校验) web152(content-type) web153(.user.ini) web154(内容检测\\\'php\\\') web155(内容检测\\\'php\\\') web156(内容检测\\\'[\\\') web157(内容检测\\\'php\\\'\\\'[]\\\'\\\'{}\\\'\\\';\\\') web158(文件检测\\\'php\\\'\\\'{\\\'\\\'[\\\'\\\';\\\'\\\'log\\\') web159(日志包含) web160(日志空格检测) web161(日志文件头检测) web162web163(session包含) w

    2024年02月14日
    浏览(22)
  • CTFShow-Web入门

    CTFShow-Web入门

    web1 解题思路: 查看源代码 web2 解题思路: 在无法查看源代码的情况下可以使用快捷键 web3 解题思路: 查看源代码无效,尝试发送POST请求 web4 解题思路: 根据题目提示: 总有人把后台地址写入robots,帮黑阔大佬们引路。 找到了flag的路径 web5 解题思路: 根据题目提醒phps源码泄露,访

    2024年02月12日
    浏览(11)
  • ctfshow web入门 ssrf web351-355

    ctfshow web入门 ssrf web351-355

    尝试访问本机的flag.php payload: 必须要用http或https,ip没有过滤因为匹配时没加变量,恒为真 payload: 必须要用http或https,过滤了127.0.,只要匹配到了127.0.就不能继续执行了 windows 0代表0.0.0.0 linux 0代表 127.0.0.1 可以用0代替127.0.0.1 payload: 过滤了0和1,可以把域名解析到127.0.0.1 http:/

    2024年02月05日
    浏览(15)
  • CTFshow web入门 web316-web333 XSS

    CTFshow web入门 web316-web333 XSS

    我tm又来了,总之top10先过一遍,到第三个XSS了,下一个要去看了,看了网上很多wp总感觉不是太全,所以就自己写了一个 网站没有对用户提交的数据进行转义处理或者过滤不足,从而被恶意攻击者利用进而被添加一些恶意可执行脚本嵌入到web页面中去,使别的用户访问都会执

    2024年02月03日
    浏览(13)
  • ctfshow web入门 sql注入

    ctfshow web入门 sql注入

    sql注入分为多种类型的注入,我将对ctfshow web入门的sql入门进行题目分类,并在最后对每种sql注入做一下总结; 本题类型 联合注入 第一种方法 万能密码  第二种方法 联合注入 这是按照数据库中有3个数据库进行,因为题目一般为3,当然也可以使用查询语句进行查询,语句如

    2024年02月21日
    浏览(8)
  • 《CTFshow-Web入门》09. Web 81~90

    《CTFshow-Web入门》09. Web 81~90

    ctf - web入门 web81:include() 利用,一句话木马之 Nginx 日志利用。 web82~86:include() 利用,条件竞争,利用 session 文件写入一句话木马。 web87:file_put_contents() 利用,伪协议 php://filter/ 。 web88:include() 利用,正则绕过,伪协议 data:// 。 web89:PHP 特性之 intval()。 web90:PHP 特性之

    2024年02月10日
    浏览(40)
  • 《CTFshow-Web入门》01. Web 1~10

    《CTFshow-Web入门》01. Web 1~10

    ctf - web入门 web1:网页源码查看。 web2:网页源码查看。 web3:burpsuite 抓包查看响应数据包。 web4:robots.txt 文件泄露后台地址。 web5:phps 文件泄露源码。 web6:网站备份压缩文件泄露源码。 web7:版本控制之 git 泄露源码。 web8:版本控制之 svn 泄露源码。 web9:vim 缓存信息泄露

    2024年02月05日
    浏览(8)
  • 《CTFshow-Web入门》07. Web 61~70

    《CTFshow-Web入门》07. Web 61~70

    ctf - web入门 web61~70:post 请求之 eval() 利用。 这几个题都和 web58 一样。可能内部禁用的函数不一样吧。但 payload 都差不多。不多解释了。 以下解法随便挑一个即可。可能不同题会有部分函数被禁。 payload1 : payload2 : payload3 : payload4 : 题目没变化。 随便试一个函数。 根据

    2024年02月01日
    浏览(8)
  • ctfshow web入门 php特性 web108-web112

    ctfshow web入门 php特性 web108-web112

    strrev() 反转字符串 ereg 存在空字符截断(只会匹配%00前面的字符),这个函数匹配到为true,没有匹配到为false,877为0x36d的十进制数值 payload: 类可以输出,就是当类被当作字符串执行,会调用__trosting魔术方法,这个类要有这个魔术方法,并且要有返回值才可以输出,这个值要可控

    2024年02月11日
    浏览(10)
  • Ctfshow web入门 nodejs篇 web334-web344

    Ctfshow web入门 nodejs篇 web334-web344

    前言:做原型链污染,入门的话个人建议先看看P神的文章,只看前四部分就行了。 深入理解 JavaScript Prototype 污染攻击 | 离别歌 (leavesongs.com) 然后也得有一点js基础,不用太多,要不然看起来属实费劲。 建议看一下《Javascript百炼成仙》,有点小贵,也可以直接看知识点整理

    2024年02月16日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包