网络安全实验室CTF—脚本关 writeup

网络安全实验室CTF—脚本关 writeup

    • key又又找不到了
    • 快速口算
    • 这个题目是空的
    • 怎么就是不弹出key呢?
    • 知识点:验证码发布流程
    • 逗比验证码第一期
    • 逗比验证码第二期
    • 逗比验证码第三期(SESSION)
    • 微笑一下就能过关了
    • 逗比的手机验证码
    • 激情燃烧的岁月
    • 验证码识别
    • 知识点:XSS跨站脚本攻击
    • XSS基础关
    • XSS基础关2:简单绕过
    • XSS基础关3:检测与构造
    • Principle很重要的XSS

网络安全实验室CTF链接

key又又找不到了

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

通关地址

进入链接后,显示" 到这里找key ",查看网页源码发现跳转链接

    <body>
        <a href="./search_key.php">_到这里找key__</a>
    </body>

点击链接但很快跳转到另一页面:“想找key,从哪里来回哪里去,我这里没有key!哼!

http://.../no_key_is_here_forever.php   //跳转后网页的URL

尝试用Burp Suite抓包
网络安全实验室CTF—脚本关 writeup_第1张图片
将第一次抓取的页面Send to Repeater后发送数据包,在Response中得到key
网络安全实验室CTF—脚本关 writeup_第2张图片

快速口算

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

通关地址
快速口算
需要在2秒钟内提交计算结果,需要用到Python脚本
先用填入答案提交一次数据,用Burp Suite对数据进行抓包,获取所需的Cookie和变量名信息
网络安全实验室CTF—脚本关 writeup_第3张图片
通过Python脚本实现2秒内提交计算结果,代码如下:

# -*- coding : utf-8 -*-
import requests
import re   //正则表达式

url = 'http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'

head = {'Cookie': 'PHPSESSID=98db957833ad06f20d20765aed472328'}

source = requests.get(url, headers=head).content.decode('utf-8')
expression = re.search(r'(\d+[+*])+(\d+[+*])+\((\d+[+*])+(\d+)\)', source).group()
print(expression)
val = str(eval(expression))
print(val)
post = {'v': val}
result = requests.post(url, headers=head, data=post).content.decode('utf-8')
print(result)

运行脚本即获取到key

5326*77767+530*(5326+77767)
458226332
<html>
    <head>
        <meta http-equiv=Content-Type content="text/html;charset=utf-8">
    head>
    <body>key is 123iohHKHJ%^&*(jkh   body>
html>

这个题目是空的

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

null”代表多数编程语言中代表空字节或空指针,所以提交“null”通关。

怎么就是不弹出key呢?

分值: 150
提交说明:提交前14个字符即可过关

通关链接

打开网页后显示“ 点击之后怎么没有反应呢?说好的弹窗呢? ”,尝试点击页面,发现左下角浏览器执行了JavaScript代码,javascript:a();,但并未产生弹窗,查看网页源代码:

<script>
    function alert(a) {
        return false;
    }
    document.write = function () {
        return false;
    }
    function prompt(a) {
        return false;
    }
    var a = function () {
    	……   //省略部分代码
        alert("key is first 14 chars" + d);
    }
</script>

发现在

你可能感兴趣的:(网络安全实验室CTF,writeup)