web入门-爆破-创新互联

文章目录
  • web21
  • web22
  • web23
    • python脚本
    • php脚本
  • web24
  • web25
  • web26
  • web27
  • web28

成都创新互联专注于企业全网整合营销推广、网站重做改版、通辽网站定制设计、自适应品牌网站建设、html5成都做商城网站、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为通辽等各大城市提供网站开发制作服务。web21

进入网站,提示要登陆,妥爆破
抓包
img
注意到最下行的base64编码
发现就是刚刚输入的账号密码
img
因此这里就是要选择爆破的地方了
发给inruder,添加爆破位
img
载入题目给的字典,并且添加爆破的规则
img

img

web22

img

web23

代码审计

题目很简单,只要能满足以上条件即可输出flag
但是仍需要一定的编写代码能力
ctf里,能够用工具解决的都是简单题,所以编写代码的能力是很重要的,希望大家别做脚本小子,多亲自写写,相信一定会有不同的感悟和提升
这里我给出两种方法

python脚本
import requests
import string
strings=string.ascii_lowercase+string.digits
for i in strings:
    for j in strings:
        url = "http://08945b13-a3f3-425d-a7c5-ae238e8ec15a.challenge.ctf.show/?token="+str(i)+str(j)
        res = requests.get(url=url)
        if 'ctf' in res.text:
            print(res.text)
            exit()

这种方法比较慢,但更简单更容易理解,推荐新手使用

php脚本

这个脚本优点是速度更快,但需要一定的php基础
以上两种方式都是可以的

web24

源码:

这里搜索一下mt_strand()函数:
img
即生成随机数
其实说是随机数,但并不是真正的随机,这里其实生成的是伪随机数
如何理解?
首先我们要知道,计算机不能产生绝对的随机数,只能产生伪随机数。伪就是有规律的意思。伪随机数就是说计算机产生的随机数是有规律的。那么计算机是怎么产生随机数的?当然是通过算法,这个算法是有映射关系的,如我放进1234,他会出来一个特定的数。
而系统实现随机数是把当前的系统时间放进去,每次时间都不一样,所以可以实现每次出来的数都不一样。如果你每次都放进一样的种子,生成的随机数列就是一样的了。
也就是说,你在不同的电脑上输入同样的种子(比如1234),输出的随机数是一致的
也就是说这道题里产生的随机数其实是固定的
自己电脑上生成一下
img
这里还要注意一个细节,你所使用的php版本要和服务器的一样,生成的伪随机数才能一致
img

web25

源码

审计,种子没有明确给出,但是需要种子才能继续推进,因此需要对种子进行爆破
img
看到这里,get一个r=0的值,则得到的rand为伪随机一次的相反数
img
爆破seed,由php的版本,选取7.1以上的进行尝试
尝试可能的seed即可
img

web26

对数据库密码进行爆破
img

web27

进入靶场,页面是登陆系统,可以下载附件查看相关考生信息
身份证号不全,需要完整身份证号进行查询,因此对身份证号爆破
img
unicode转中文:
img
登陆得到flag:
img

web28

对目录进行爆破
img
两个位置均设置好爆破规则即可
img

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享题目:web入门-爆破-创新互联
本文路径:http://scyanting.com/article/ccedsp.html