【CTFWeb 基础】总结笔记以及实例题(2)

自己总结的基础笔记,里面所用题型都为基础题型仅供查考
本文链接:https://blog.csdn.net/weixin_45871855/article/details/105348088

本文所用实例链接
Bugku web5
攻防世界新手区 weak_auth
Bugku 输入密码查看flag
安全攻防脚本关5 逗比验证码第一期
安全攻防脚本关6 逗比验证码第二期
安全攻防脚本关7 逗比验证码第三期(SESSION)

8.源码获取

由于现在当前大量开发人员使用git进行版本控制,对站点自动部署。 如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。
GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,还原重建工程源代码。
Git信息泄露的危害很大,渗透测试人员、攻击者,可直接从源码获取敏感配置信息(如:邮箱,数据库),也可以进一步审计代码,挖掘文件上传、SQL注射等安全漏洞。

例:Bugku web5

在这里插入图片描述看到随便输入显示再好好看看,看源码,得到了一长串JsFuck编码
在这里插入图片描述
放到控制台运行,得到flag

在这里插入图片描述

9.弱密码爆破

在有些网站的登陆界面中,我们希望拿到它的管理员权限,但是我们并不知它的密码,但是知道的是它的密码的类型并不复杂,我们可以对密码进行弱密码爆破。burp中自带的字典可能不足够爆破,可以在网上下载一个字典

例:攻防世界新手区 weak_auth

解题步骤(之前的文章):
攻防世界:Web (新手练习题)之 weak_auth

例:Bugku 输入密码查看flag

在这里插入图片描述
和上一题类似,但是这个有前提条件“五个数字”,所以在字典那选择数字,从10000到99999 顺序,step为1,开始爆破,得到密码,在输入框输入,得到flag

在这里插入图片描述
—————————————————————————
注意:这样跑起来最不好的一点是太慢了。。。。
—————————————————————————

10.验证码

验证码发布流程
1.用户请求访问或刷新网页,服务器后台生成验证码图片及图片编码,
2.将验证码信息加密后放入Session或Cookie;
3.提交表单信息后,调用生成验证码的程序;
4.核对验证码无误、数据合法后写入数据库;
用户正常刷新页面后,会再次访问该表单页面,验证码图片被动更新,Session和Cookie存入的值也跟着改变,用不同方式模拟post传参直接发送数据,从而达到绕过验证码的目的,修复此漏洞的方法:在核对验证码后,便清空Session和Cookie中保存验证码的值,再判断数据的合法性,最后写入数据库,以此提高验证码的安全性。

例:安全攻防脚本关5 逗比验证码第一期

在这里插入图片描述

进入登陆页面后,User信息已给出,密码提示为:第一位不为0的4位纯数字,但需要输入验证码登陆。

脑子里都是爆破爆破,爆了它,加上它和上题类似,burp弱密码爆破是首选,不过看其他 writeup 似乎可以跑python脚本

先尝试登陆,如输入1234,用Burp Suite抓取数据包,获取所需的Cookie和变量名信息:

在这里插入图片描述
接着直接暴力破解获取flag,方法和上面爆破方法一样

在这里插入图片描述

例:安全攻防脚本关6 逗比验证码第二期

在这里插入图片描述
先尝试登陆,用Burp Suite抓取数据包,获取所需的Cookie和变量名信息:
在这里插入图片描述
将抓取的页面Send to Repeater后发送数据包,在Response中显示“pwd error”,尝试在Request中修改数据包信息,根据给出的提示:“一次便失效”发现当验证码为空的情况下,可以重复修改pwd的值,以达到绕过验证码爆破密码的作用;

在这里插入图片描述 爆破得到flag

安全攻防脚本关7 逗比验证码第三期(SESSION)

在这里插入图片描述

原理同逗比验证码第一、二期,即可得到flag

在这里插入图片描述

—————————————————————————

既然是脚本关,咱们用脚本写一下

在这里插入图片描述在这里插入图片描述
在这里插入图片描述—————————————————————————

import requests

url = 'http://lab1.xseclab.com/vcode3_9d1ea7ad52ad93c04a837e0808b17097/login.php'
# 所要运行的脚本的网页地址
for password in range(1000, 9999):#填写的范围
    head = {'Cookie': 'PHPSESSID=017064de2fd7e967c471bed47f617245'}
    #抓取网址的Cookie值
    post = {'username': 'admin', 'pwd': password, 'vcode': '', 'submit': 'submit'}
    result = requests.post(url, headers=head, data=post).text
    print(password)
    if len(result) != 9:
        print("The passowrd is : " + str(password))
        print(result)
        break

上述题目来自[网络信息安全攻防学习平台],
Bugku(https://ctf.bugku.com)或者攻防世界(http://hackinglab.cn/index.php),仅仅作为自己的笔记

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值