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

脚本关

  • 第一关
  • 第二关
  • 第三关
  • 第四关
  • 第五关
  • 第六关
  • 第七关
  • 第八关
  • 第九关
  • 第十关
  • 第十一关
  • 第十二关
  • 第十三关
  • 第十四关
  • 第十五关


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


第一关

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

Writeup:
点击(到这里找key_)抓包后,鼠标右键,选择send to Repeater
CTF-网络信息安全攻防学习平台(脚本关)_第1张图片
点击go发送数据包后,在返回包即可看到key值
CTF-网络信息安全攻防学习平台(脚本关)_第2张图片

第二关

题目:
        快速口算
        分值: 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

CTF-网络信息安全攻防学习平台(脚本关)_第3张图片

第三关

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

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

第四关

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

Writeup:
查看源代码,可以看到
CTF-网络信息安全攻防学习平台(脚本关)_第4张图片
创建个html文件,将代码复制下来,去除掉前面定义的一些函数
CTF-网络信息安全攻防学习平台(脚本关)_第5张图片
弹窗代码改成:

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

用浏览器打开html文件就能弹出key值了
CTF-网络信息安全攻防学习平台(脚本关)_第6张图片

第五关

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

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

第六关

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

Writeup:
还是验证码失效题,抓包的时候删除验证码的值,就能绕过
CTF-网络信息安全攻防学习平台(脚本关)_第13张图片
按照上一题的爆破步骤去爆破,即可拿到key

第七关

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

Writeup:
还是验证码失效题,这题需要连带cookie一起删除(cookie会匹配一个验证码,存在会话凭证时,一个验证码用过一次后就不能重复使用了,所以连同cookie一起删除即可)
CTF-网络信息安全攻防学习平台(脚本关)_第14张图片
继续按照第五题的爆破步骤去爆破,即可获取key

第八关

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

Writeup:
php伪协议题
查看源代码时可以看到一个超链接,点击可以看到源码
CTF-网络信息安全攻防学习平台(脚本关)_第15张图片
可以看到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
CTF-网络信息安全攻防学习平台(脚本关)_第16张图片

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

    data:,<文本数据>  
    data:text/plain,<文本数据>  
    data:text/html,  
    data:text/html;base64,  
    data:text/css,  
    data:text/css;base64,  
    data:text/javascript,  
    data:text/javascript;base64,  
    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:
验证码与手机号未绑定漏洞
先利用我们的手机号进行登陆
CTF-网络信息安全攻防学习平台(脚本关)_第17张图片
他会给提示,需要用13388886667这个手机号登陆
CTF-网络信息安全攻防学习平台(脚本关)_第18张图片
我们返回刚才登陆页面,用我们的手机号重新获取一下验证码,
CTF-网络信息安全攻防学习平台(脚本关)_第19张图片
然后修改手机号码为13388886667
CTF-网络信息安全攻防学习平台(脚本关)_第20张图片
点击登陆之后就可以看到key值了
CTF-网络信息安全攻防学习平台(脚本关)_第21张图片
一般来说短信验证码仅能使用一次,验证码和手机号未绑定,验证码一段时期内有效。
关于验证码其他漏洞的讲解可以观看以下文章:
https://blog.csdn.net/Sunnyyou2011/article/details/79803481

第十关

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

Writeup:
验证码爆破漏洞,服务端未对验证时间、次数进行限制。
进入题目,点击获取验证码后,提示验证码是3位数,不以0开头
CTF-网络信息安全攻防学习平台(脚本关)_第22张图片
输入验证码后,拦截数据包,发送到intruder进行爆破
CTF-网络信息安全攻防学习平台(脚本关)_第23张图片
标记验证码位
CTF-网络信息安全攻防学习平台(脚本关)_第24张图片
设置好数字之间的长度,就可以开始进行爆破了
CTF-网络信息安全攻防学习平台(脚本关)_第25张图片
找到正确的验证码提交时,他给了下一个提示,需要我们再登陆13399999999手机号
CTF-网络信息安全攻防学习平台(脚本关)_第26张图片
利用刚才相同的手法,13399999999手机号获取验证码,爆破验证码成功后即可看到key

第十一关

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

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

进入靶场,先获取验证码
CTF-网络信息安全攻防学习平台(脚本关)_第27张图片
输入手机验证码以及图片验证码,然后进行抓包
CTF-网络信息安全攻防学习平台(脚本关)_第28张图片
复制数据包到Pkav HTTP Fuzzer ,标记需要爆破的值
CTF-网络信息安全攻防学习平台(脚本关)_第29张图片
在Pkav HTTP Fuzzer 右边设置爆破手机验证码的字典规则
CTF-网络信息安全攻防学习平台(脚本关)_第30张图片
复制图片验证码
CTF-网络信息安全攻防学习平台(脚本关)_第31张图片
选择图片验证码识别
1.选择图片验证码识别
2.填入验证码图片地址
3.设置识别字符
4.识别图片测试
CTF-网络信息安全攻防学习平台(脚本关)_第32张图片
选择重放选项,设置发包线程,验证码长度(多线程会失败,大家可以自行测试)
CTF-网络信息安全攻防学习平台(脚本关)_第33张图片
开始爆破验证码
CTF-网络信息安全攻防学习平台(脚本关)_第34张图片
有时不会成功,可能在运气不好的时候,正好爆破那个验证码,图片正好识别出错(我就遇到过一次 - -)

点击长度(和burp suite一样,成功和失败的返回长度是不一样的),查看返回包就可以看到flag了
CTF-网络信息安全攻防学习平台(脚本关)_第35张图片

第十二关

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

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

<script>alert(HackingLab)</script>

CTF-网络信息安全攻防学习平台(脚本关)_第36张图片

第十三关

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

Writeup:
xss绕过
过滤了

你可能感兴趣的:(#,网络信息安全攻防学习平台,CTF)