CTF-网络信息安全攻防学习平台(脚本关)


题库地址:http://hackinglab.cn


第一关

题目:
        key又又找不到了
        key分值: 200
        key小明这次哭了,key又找不到了!!! key啊,你究竟藏到了哪里,为什么我看到的页面上都没有啊!!!!!!

Writeup:
点击(到这里找key_)抓包后,鼠标右键,选择send to Repeater
在这里插入图片描述
点击go发送数据包后,在返回包即可看到key值
在这里插入图片描述

第二关

题目:
        快速口算
        分值: 350
        小明要参加一个高技能比赛,要求每个人都要能够快速口算四则运算,2秒钟之内就能够得到结果,但是小明就是一个小学生没有经过特殊的培训,那小明能否通过快速口算测验呢?看到的页面上都没有啊!!!!!!

Writeup:
每两秒会刷新一次算术题,当然我们人工算是不可能完成的,思路就是写个python脚本,爬取这段算术题,然后也是利用脚本提交,提交之后查看返回包就可以看到key值

这里利用到了requests模块去爬取题目,然后利用re模块匹配算术题

import requests,re
r = requests.Session()
url='http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
html=r.get(url).content
results=eval(re.findall('([0-9].*)=<',html)[0])

data = {'v':results}
print r.post(url,data=data).text

在这里插入图片描述

第三关

题目:
        这个题目是空的
        分值: 100
        Tips:这个题目真不是随便设置的。 什么才是空的呢? 通关地址:没有,请直接提交答案(小写即可)

Writeup:
写过脚本的人大家都知道空就是null,null就是正确答案

第四关

题目:
        怎么就是不弹出key呢?
        分值: 150
        提交说明:提交前14个字符即可过关

Writeup:
查看源代码,可以看到
在这里插入图片描述
创建个html文件,将代码复制下来,去除掉前面定义的一些函数
在这里插入图片描述
弹窗代码改成:

alert("key is first 14 chars  "+d.substr(0,14));

用浏览器打开html文件就能弹出key值了
在这里插入图片描述

第五关

题目:
        逗比验证码第一期
        分值: 100
        逗比的验证码,有没有难道不一样吗?

Writeup:
验证码失效,进入靶场后可以看到有提示:登陆密码是4位纯数字数,第一位不为0
只要我们输入正确的账号和正确的验证码后,一直点击go发包,可以看到验证码并没有更新,并且一直提示pwd error,说明只要我们只要保持当前会话,验证码就不会失效在这里插入图片描述
右键选择send to intruder(发送到爆破模块)
在这里插入图片描述
1.选择Clear(清除当前已选的标记)
2.鼠标左键框选密码
3.点击Add(标记需要爆破的值)
在这里插入图片描述
1.选择payloads(设置我们爆破密码的规则)
2.选择Numbers(数字类型的爆破)
3.from是从多少开始,to是到多少结束
   step是数字爆破的规则,如果设置2的话,他就会按照1000,1002,1004…这种爆破规则去进行爆破(相当去跳过1个数值),至于这个设置大家可以亲自实验,可以很明显的看出效果
4.先单击一次hex,再点击Decimal(这一步是为了刷新我们设置好的规则,意义不大,如果不进行这一步的话,payload count那里会一直为0)
在这里插入图片描述
点击又上角的Start attack(开始爆破)
在这里插入图片描述
爆破完成后,点击length(一般登陆成功和密码错误的返回包值是不一样的,所以一般看返回值就能看出哪一个是登陆成功的),查看正确密码的数据包,即可看到key在这里插入图片描述

第六关

题目:
        逗比验证码第二期
        分值: 150
        验证便失效的验证码

Writeup:
还是验证码失效题,抓包的时候删除验证码的值,就能绕过
在这里插入图片描述
按照上一题的爆破步骤去爆破,即可拿到key

第七关

题目:
        逗比的验证码第三期(SESSION)
        分值: 150
        尼玛,验证码怎么可以这样逗比。。
        验证码做成这样,你家里人知道吗?

Writeup:
还是验证码失效题,这题需要连带cookie一起删除(cookie会匹配一个验证码,存在会话凭证时,一个验证码用过一次后就不能重复使用了,所以连同cookie一起删除即可)
在这里插入图片描述
继续按照第五题的爆破步骤去爆破,即可获取key

第八关

题目:
        微笑一下就能过关了
        分值: 150
        尼玛,碰到这样的题我能笑得出来嘛…

Writeup:
php伪协议题
查看源代码时可以看到一个超链接,点击可以看到源码
在这里插入图片描述
可以看到php源码:

<?php  
    header("Content-type: text/html; charset=utf-8");
    if (isset($_GET['view-source'])) { 
        show_source(__FILE__); 
        exit(); 
    } 

    include('flag.php'); 

    $smile = 1;  

   if (!isset ($_GET['^_^'])) $smile = 0;  
    if (preg_match ('/\./', $_GET['^_^'])) $smile = 0;  
    if (preg_match ('/%/', $_GET['^_^'])) $smile = 0;  
    if (preg_match ('/[0-9]/', $_GET['^_^'])) $smile = 0;  
    if (preg_match ('/http/', $_GET['^_^']) ) $smile = 0;  
    if (preg_match ('/https/', $_GET['^_^']) ) $smile = 0;  
    if (preg_match ('/ftp/', $_GET['^_^'])) $smile = 0;  
    if (preg_match ('/telnet/', $_GET['^_^'])) $smile = 0;  
    if (preg_match ('/_/', $_SERVER['QUERY_STRING'])) $smile = 0; 
    if ($smile) { 
        if (@file_exists ($_GET['^_^'])) $smile = 0;  
    }  
    if ($smile) { 
        $smile = @file_get_contents ($_GET['^_^']);  
        if ($smile === "(●'◡'●)") die($flag);  
    }  
?> 

题意是 输入了. % 数字 http https ftp telnet _ 如果匹配到了,$smile值就会为0
在这里插入图片描述

file_exists()函数会判断文件存不存在,如果不存在,则返回false,如果存在返回true。
但这里用了if条件,如果文件存在,则$smile=0
在这里插入图片描述
file_get_contents()把整个文件读入一个字符串中,但我们并不知道文件名,而且文件名内容要等于(●’◡’●),不过data协议可以实现这类方法
在这里插入图片描述
1.匹配字符串中,笑脸得^_^与匹配字符串_有冲突,可以利用url编码绕过
2.data协议使用方法,使用第一种方法就能达到获取flag

    data:,<文本数据>  
    data:text/plain,<文本数据>  
    data:text/html,<HTML代码>  
    data:text/html;base64,<base64编码的HTML代码>  
    data:text/css,<CSS代码>  
    data:text/css;base64,<base64编码的CSS代码>  
    data:text/javascript,<Javascript代码>  
    data:text/javascript;base64,<base64编码的Javascript代码>  
    data:image/gif;base64,base64编码的gif图片数据  
    data:image/png;base64,base64编码的png图片数据  
    data:image/jpeg;base64,base64编码的jpeg图片数据  
    data:image/x-icon;base64,base64编码的icon图片数据

payload:

?^%5f^=data:,('◡')

在这里插入图片描述

第九关

题目:
        逗比的手机验证码
        分值: 150
        你的手机号码是13388886666,验证码将会以弹窗的形式给出

Writeup:
验证码与手机号未绑定漏洞
先利用我们的手机号进行登陆
在这里插入图片描述
他会给提示,需要用13388886667这个手机号登陆
在这里插入图片描述
我们返回刚才登陆页面,用我们的手机号重新获取一下验证码,
在这里插入图片描述
然后修改手机号码为13388886667
在这里插入图片描述
点击登陆之后就可以看到key值了
在这里插入图片描述
一般来说短信验证码仅能使用一次,验证码和手机号未绑定,验证码一段时期内有效。
关于验证码其他漏洞的讲解可以观看以下文章:
https://blog.csdn.net/Sunnyyou2011/article/details/79803481

第十关

题目:
        基情燃烧的岁月
        分值: 150
        Tips:你是一名黑客,你怀疑你的“(男/女)闺蜜”的出轨了,你要登陆TA手机的网上营业厅查看详单,一探究竟! 闺蜜手机号码:13388886666

Writeup:
验证码爆破漏洞,服务端未对验证时间、次数进行限制。
进入题目,点击获取验证码后,提示验证码是3位数,不以0开头
在这里插入图片描述
输入验证码后,拦截数据包,发送到intruder进行爆破
在这里插入图片描述
标记验证码位
在这里插入图片描述
设置好数字之间的长度,就可以开始进行爆破了
在这里插入图片描述
找到正确的验证码提交时,他给了下一个提示,需要我们再登陆13399999999手机号
在这里插入图片描述
利用刚才相同的手法,13399999999手机号获取验证码,爆破验证码成功后即可看到key

第十一关

题目:
        验证码识别
        分值: 350
        验证码识别
        Tips:验证码依然是3位数

Writeup:
利用验证码识别工具然后进行爆破
利用工具:Pkav HTTP Fuzzer

进入靶场,先获取验证码
在这里插入图片描述
输入手机验证码以及图片验证码,然后进行抓包
在这里插入图片描述
复制数据包到Pkav HTTP Fuzzer ,标记需要爆破的值
在这里插入图片描述
在Pkav HTTP Fuzzer 右边设置爆破手机验证码的字典规则
在这里插入图片描述
复制图片验证码
在这里插入图片描述
选择图片验证码识别
1.选择图片验证码识别
2.填入验证码图片地址
3.设置识别字符
4.识别图片测试
在这里插入图片描述
选择重放选项,设置发包线程,验证码长度(多线程会失败,大家可以自行测试)
在这里插入图片描述
开始爆破验证码
在这里插入图片描述
有时不会成功,可能在运气不好的时候,正好爆破那个验证码,图片正好识别出错(我就遇到过一次 - -)

点击长度(和burp suite一样,成功和失败的返回长度是不一样的),查看返回包就可以看到flag了
在这里插入图片描述

第十二关

题目:
        XSS基础关
        分值: 50
        XSS基础:很容易就可以过关.XSS类题目必须在平台登录才能进行.登录地址请参考左侧<子系统>

Writeup:
在输入框输入xss代码,能弹窗即可获取key

<script>alert(HackingLab)</script>

在这里插入图片描述

第十三关

题目:
        XSS基础2:简单绕过
        分值: 100
        很容易就可以过关.

Writeup:
xss绕过
过滤了<script>标签,当我们输入<script>会提示XSS_SCRIPT_DETECTED!!!
在这里插入图片描述
利用img标签绕过并弹窗

<img src=# onerror=alert(HackingLab)>

在这里插入图片描述

第十四关

题目:
        XSS基础2:简单绕过
        分值: 100
        很容易就可以过关.

Writeup:
查看源代码,我们输入payload的位置在value中
在这里插入图片描述
1.输入的内容被包含在 value=’’
2.过滤了=alert() <script>等

将payload两旁增加单引号’,alert利用unicode编码绕过

http://tool.chinaz.com/tools/unicode.aspx在这里插入图片描述
构造payload,输入到填写框提交。

' οnmοuseοver=\u0061\u006c\u0065\u0072\u0074(HackingLab) id='

此次用的是onmouseover事件,当鼠标触碰到Welcome旁边的选框时,会触发弹窗
在这里插入图片描述

第十五关

题目:
        Principle很重要的XSS
        分值: 300
        原理/原则/理念很重要…不是所有的xss都叫特仑苏… _
        Take it easy!

Writeup:
看源代码,可以看到我们输入的内容会存在a标签中
在这里插入图片描述
1.输入的内容会在a标签的href属性中。
2.防御了javascript,alert等
3.<>被转换成了空

a标签中href属性中加入javascript这是最常用的调用的办法
但是我们输入了javascript会被过滤掉
换个思路,<>会被转换成空,那我们在javascript和alert中间加入<>,这也让就绕过字符串限制了

pyaload:

javascri<>pt:aler<>t(HackingLab)

输入payload后提交,点击跳转链接,就能实现弹窗了
在这里插入图片描述

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凝聚力安全团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值