目录

1:key又又找不到了

2:快速口算

3:这个题目是空的

5:逗比验证码第一期

6:逗比验证码第二期

7:逗比的验证码第三期(SESSION)

8:微笑一下就能过关了

9:逗比的手机验证码

10:基情燃烧的岁月

11:验证码识别

12:XSS基础关

13:XSS基础2:简单绕过

14:XSS基础3:检测与构造

15:Principle很重要的XSS


HackingLab地址:http://hackinglab.cn/ShowQues.php?type=scripts

1:key又又找不到了

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

通关地址:http://lab1.xseclab.com/xss1_30ac8668cd453e7e387c76b132b140bb/index.php

Poc:

这道题考察的是

访问通关地址

使用bp抓包,发现脚本控制网页跳转,所以我们看不到key。最后得到key:yougotit_script_now

2:快速口算

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

通关地址:http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php

Poc:

这道题考察的是快速编写python脚本的能力

访问通关地址,需要在2秒内快速算出答案并且提交,所以不得不用脚本来算题和提交

以下是编写的python脚本

# -*- coding: utf-8 -*-
#环境:python2.7
"""
Created on Wed Oct 23 22:51:54 2019
@author: 小谢
"""
import re
import requests s=requests.Session()
url="http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php"
r=s.get(url)
res=unicode(r.content,"utf-8").encode("gbk")
#print(res)
num = re.findall('([0-9].*?)=', res)[0]
print ('当前获取到需要口算的表达式及计算结果为:%s=%d' % (num, eval(num)))
r=s.post(url,data={'v':eval(num)})
print(re.findall(">(.*)<",r.content)[0])

运行脚本,得到key:123iohHKHJ%^&*(jkh

这道题需要注意的是你获得运算式的session和提交的session必须是同一个session。

3:这个题目是空的

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

poc:

这道题考察的是选手对于编程语言中空值的了解

得到flag:null

4:怎么就是不弹出key呢?

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

通关地址:http://lab1.xseclab.com/xss3_5dcdde90bbe55087eb3514405972b1a6/index.php

Poc:

这题考察的是js的驾驭能力

访问通关地址

右键查看源代码发现变量a其实是一个匿名函数,而且js里面也禁用了一些常用的弹出对话框的函数

由于js是基于客户端浏览器的,所以我们把代码复制下来,去掉前后的<script></script>,美化成如下

var a = function () {
var b = function (p, a, c, k, e, r) {
e = function (c) {
return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
};
if (!''.replace(/^/, String)) {
while (c--) r[e(c)] = k[c] || e(c);
k = [
function (e) {
return r[e]
}
];
e = function () {
return '\\w+'
};
c = 1
};
while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]);
return p
}('1s(1e(p,a,c,k,e,r){e=1e(c){1d(c<a?\'\':e(1p(c/a)))+((c=c%a)>1q?1f.1j(c+1k):c.1n(1o))};1g(!\'\'.1h(/^/,1f)){1i(c--)r[e(c)]=k[c]||e(c);k=[1e(e){1d r[e]}];e=1e(){1d\'\\\\w+\'};c=1};1i(c--)1g(k[c])p=p.1h(1l 1m(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);1d p}(\'Y(R(p,a,c,k,e,r){e=R(c){S(c<a?\\\'\\\':e(18(c/a)))+((c=c%a)>17?T.16(c+15):c.12(13))};U(!\\\'\\\'.V(/^/,T)){W(c--)r[e(c)]=k[c]||e(c);k=[R(e){S r[e]}];e=R(){S\\\'\\\\\\\\w+\\\'};c=1};W(c--)U(k[c])p=p.V(Z 11(\\\'\\\\\\\\b\\\'+e(c)+\\\'\\\\\\\\b\\\',\\\'g\\\'),k[c]);S p}(\\\'G(B(p,a,c,k,e,r){e=B(c){A c.L(a)};E(!\\\\\\\'\\\\\\\'.C(/^/,F)){D(c--)r[e(c)]=k[c]||e(c);k=[B(e){A r[e]}];e=B(){A\\\\\\\'\\\\\\\\\\\\\\\\w+\\\\\\\'};c=1};D(c--)E(k[c])p=p.C(I J(\\\\\\\'\\\\\\\\\\\\\\\\b\\\\\\\'+e(c)+\\\\\\\'\\\\\\\\\\\\\\\\b\\\\\\\',\\\\\\\'g\\\\\\\'),k[c]);A p}(\\\\\\\'t(h(p,a,c,k,e,r){e=o;n(!\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\'.m(/^/,o)){l(c--)r[c]=k[c]||c;k=[h(e){f r[e]}];e=h(){f\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\'};c=1};l(c--)n(k[c])p=p.m(q s(\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\b\\\\\\\\\\\\\\\'+e(c)+\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\b\\\\\\\\\\\\\\\',\\\\\\\\\\\\\\\'g\\\\\\\\\\\\\\\'),k[c]);f p}(\\\\\\\\\\\\\\\'1 3="6";1 4="7";1 5="";8(1 2=0;2<9;2++){5+=3+4}\\\\\\\\\\\\\\\',j,j,\\\\\\\\\\\\\\\'|u|i|b|c|d|v|x|y|j\\\\\\\\\\\\\\\'.z(\\\\\\\\\\\\\\\'|\\\\\\\\\\\\\\\'),0,{}))\\\\\\\',H,H,\\\\\\\'|||||||||||||||A||B||M||D|C|E|F||I||J|G|N|O||P|Q|K\\\\\\\'.K(\\\\\\\'|\\\\\\\'),0,{}))\\\',X,X,\\\'||||||||||||||||||||||||||||||||||||S|R|V|W|U|T|Y|13|Z|11|14|12|10|19|1a|1b|1c\\\'.14(\\\'|\\\'),0,{}))\',1t,1u,\'|||||||||||||||||||||||||||||||||||||||||||||||||||||1e|1d|1f|1g|1h|1i|1v|1s|1l||1m|1n|1o|1r|1k|1j|1q|1p|1w|1x|1y|1z\'.1r(\'|\'),0,{}))', 62, 98, '|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||return|function|String|if|replace|while|fromCharCode|29|new|RegExp|toString|36|parseInt|35|split|eval|62|75|53|var|slakfj|teslkjsdflk|for'.split('|'), 0, {
});
var d = eval(b);
alert('key is first 14 chars' + '\n'+d.substr(0,14));
}()

将这段代码复制到新建页面的console控制台,回车即可弹出,得到key: slakfjteslkjsd

5:逗比验证码第一期

逗比的验证码,有没有难道不一样吗?

通关地址:http://lab1.xseclab.com/vcode1_bcfef7eacf7badc64aaf18844cdb1c46/index.php

Poc:

这题考察的是选手对于爆破的掌握

访问通关地址,输入任意的4位数字进行登录,返回pwd error。重放,返回的还是 pwd error。由此可知验证码失效

由于验证码失效,所以我们可以对pwd参数进行爆破,最后爆破得到pwd为1238,得到key:LJLJL789sdf#@sd

6:逗比验证码第二期

验证便失效的验证码

通关地址:http://lab1.xseclab.com/vcode2_a6e6bac0b47c8187b09deb20babc0e85/index.php

Poc:

这题考察的是选手对于图形验证码的绕过,以及爆破

访问通关地址,输入任意的4位数字进行登录,返回pwd error

重放,返回的是vcode error。可知验证码验证一次即失效了

尝试删除vcode参数的值,重放,返回pwd error。

可知,只要不给vcode赋值,就不会验证vcode的正确与否。于是,删除vcode的值,对pwd参数进行爆破。最后爆破得到pwd= 1228,得到key:LJLJL789ss33fasvxcvsdf#@sd

7:逗比的验证码第三期(SESSION)

尼玛,验证码怎么可以这样逗比。。验证码做成这样,你家里人知道吗?

通关地址:http://lab1.xseclab.com/vcode3_9d1ea7ad52ad93c04a837e0808b17097/index.php

Poc:

这题考察的是选手对于图形验证码的绕过,以及爆破

这题和第6题解题是一样的,也不知道为啥要提示session。用第6题的思路解题,爆破,得到pwd=1298,得到key:LJLJLfuckvcodesdf#@sd

8:微笑一下就能过关了

尼玛,碰到这样的题我能笑得出来嘛...

通关地址:http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php

Poc:

这道题考察的是

未完待续。。

9:逗比的手机验证码

你的手机号码是13388886666,验证码将会以弹窗的形式给出

通关地址:http://lab1.xseclab.com/vcode5_mobi_5773f3def9f77f439e058894cefc42a8/

Poc:

这道题考察的是对手机验证码处的逻辑漏洞

访问通关地址,点击获取验证码弹出手机验证码是9038

输入9038登录,提示 please login as 13388886667

于是将手机号码改为13388886667,重新获取手机验证码,结果提示

于是尝试利用13388886666获取验证码,然后登录的时候用13388886667,结果竟然得到key:LJLJLGod!@@sd

10:基情燃烧的岁月

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

通关地址:http://lab1.xseclab.com/vcode6_mobi_b46772933eb4c8b5175c67dbc44d8901/

Poc:

这道题考察的是对手机验证码的爆破

访问通关地址,点击获取手机验证码,返回如图

很自然的想到了对验证码的爆破,结果得到了下面的结果

继续对 13399999999 进行验证码爆破,得到flag为:{LKK8*(!@@sd}

11:验证码识别

Tips:验证码依然是3位数

通关地址:http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/index.php

Poc:

这道题考察是的对图形验证码的破解和对手机验证码的爆破

访问通关地址点击获取验证码,但是并不知道验证码是多少,用bp抓包,返回包中也没有验证码

于是输入任意的手机验证码,输入正确的图形验证码登录,用bp抓包,提示user_code or mobi_code error

重放,提示验证码失效。由此可知,登录每次,验证码都会刷新

所以现在就需要同时爆破手机验证码和破解图形验证码了

未完待续。。

12:XSS基础关

XSS基础:很容易就可以过关

通关地址:http://lab1.xseclab.com/realxss1_f123c17dd9c363334670101779193998/index.php

Poc:

这题考察简单的XSS payload

输入<script>alert(1)</script>,提示弹出 HackingLab

于是输入 <script>alert(HackingLab)</script>,得到key:myxssteststart!

13:XSS基础2:简单绕过

很容易就可以过关.

通关地址:http://lab1.xseclab.com/realxss2_bcedaba7e8618cdfb51178765060fc7d/index.php

Poc:

这题考察的是对于XSS的绕过

这道题过滤了 <script></script> 标签,所以我们可以输入其他标签。输入 <img src=1 οnerrοr=alert(HackingLab)>

得到key:xss2test2you

14:XSS基础3:检测与构造

XSS基础3:检测与构造

Tips:不是很难

通关地址:http://lab1.xseclab.com/realxss3_9b28b0ff93d0b0099f5ac7f8bad3f368/index.php

Poc:

这题考察的是对于XSS的构造与绕过

访问通关地址,输入11,查看源代码

通过几次尝试构造,发现其对我们输入的数据过滤了 < ,导致我们输入的所有在 < 后面的数据都被删除了,并且过滤了 <script> 、alert等标签。

未完待续。。

15:Principle很重要的XSS

原理/原则/理念很重要.....不是所有的xss都叫特仑苏.. ^_^

Take it easy!

通关地址:http://lab1.xseclab.com/realxss4_9bc1559999a87a9e0968ad1d546dfe33/index.php

Poc:

这题考察的是对于XSS的绕过

未完待续。。

参考文章:CTF writeup 1_网络安全实验室

网络安全攻防实验室通关教程-脚本关

网络信息安全实验室----脚本关

HackingLab脚本关的更多相关文章

  1. hackinglab 脚本关 writeup

    地址:http://hackinglab.cn 脚本关 key又又找不到了 点击提供的链接后,实际发生了两次跳转,key 在第一次跳转的网页中,key is : yougotit_script_now ...

  2. hackinglab 基础关 writeup

    地址:http://hackinglab.cn/ 基础关 key在哪里? 很简单,点击过关地址,在新打开的网页中查看网页源代码就能在 HTML 注释中发现 key 再加密一次你就得到key啦~ 明文加 ...

  3. HackingLab基础关

    目录 1:Key在哪里? 2:再加密一次你就得到key啦~ 3:猜猜这是经过了多少次加密? 4:据说MD5加密很安全,真的是么? 5:种族歧视 6:HAHA浏览器 7:key究竟在哪里呢? 8:key ...

  4. 网络安全实验室 脚本关通关writeup

    [1]key又又找不到了查看源代码.发现key的路径,点击进行了302跳转,抓包,得到key [2]快速口算要2秒内提交答案,果断上python import requests,re s = requ ...

  5. pyhton验证码识别

    1.PIL 下载地址: PIL-1.1.7.win-amd64-py2.7.exe 2.tesseract-ocr下载地址: tesseract-ocr-setup-3.02.02.exe 3.pyt ...

  6. python验证码识别

    关于利用python进行验证码识别的一些想法 用python加“验证码”为关键词在baidu里搜一下,可以找到很多关于验证码识别的文章.我大体看了一下,主要方法有几类:一类是通过对图片进行处 理,然后 ...

  7. Tomcat学习四步走:内核、集群、参数及性能

    主题简介: 内核实现原理 分布式集群 生产部署关键参数 性能监控和分析 一.内核实现原理 HTTP Web服务器与浏览器之间以HTTP协议通信,浏览器要访问服务器即向服务器发送HTTP请求报文. 如图 ...

  8. 使用Js脚本 修改控制IE的注册表相关设置(activex等)

    使用Js脚本 修改控制IE的注册表相关设置(activex等) 分类: PHP2012-12-05 18:51 2035人阅读 评论(2) 收藏 举报 脚本写法: <SCRIPT LANGUAG ...

  9. php 关了浏览器也可以自动运行脚本

    <?php ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. set_time_limit(0); //执行时间为无限制,php默认 ...

随机推荐

  1. Elasticsearch 为了搜索

    前言 Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene 基础之上. Lucene 可以说是当下最先进.高性能.全功能的搜索引擎库--无论是开源还是 ...

  2. 自动化测试工具(基于WordCount作业)

    本自动化测试的程序用于自动化测试WordCount作业,采用Java开发(基于jdk1.8+),基于Maven来管理项目. 支持的语言和开发进度 语言 进度 Java 已测试并投入运行 C++ 开发完 ...

  3. java内部类 的理解

    * 类的第5个成员:内部类 * 1.相当于说,我们可以在类的内部再定义类.外面的类:外部类.里面定义的类:内部类 * 2.内部类的分类:成员内部类(声明在类内部且方法外的) vs 局部内部类(声明在类 ...

  4. maven 常用命名

    maven项目,在命令行中操作,非常简洁.高效,现将maven项目常用命令行总结如下: maven命令行命令总结 序号 整理 统计 命令 作用 1 基本 5 mvn -v 查看maven版本 2 mv ...

  5. python-3-2

    一 切片 1.切片是list取值的一种方式 列子: nums = ['a','b','c','d','e','f','h','g','k','l','kk','nn','ee'] 取b和c元素出来 p ...

  6. 什么是SSR SSR有什么用 如何使用使用SSR

    什么是SSR 以下信息来自维基百科: Shadowsocks(简称SS)是一种基于Socks5代理方式的加密传输协议,也可以指实现这个协议的各种开发包.当前包使用Python.C.C++.C#.Go语 ...

  7. Android Studio 之生成正式签名的 APK 文件

    生成 APK 文件 •步骤 点击  Build -> Generate Signed...... : 来到如下界面: 选择 APK 选项,点击 Next 来到如下界面: 如果你电脑上没有一个正式 ...

  8. Android Studio详解项目中的资源

    •目录结构 •作用 所有以 drawable 开头的文件都是用来放图片的: 所有以 mipmap 开头的文件都是用来放应用图标的: 所有以 value 开头的文件夹都是用来放字符串.样式.颜色等配置的 ...

  9. 关于误删除elasticSearch 索引,怎么能快速找回?

    背景 之前公司小王在工作中清理elasticSearch 索引,不小心使用脚本清空了最近使用的重要索引,导致开发无法准确的进行定位生产问题,造成了很大困扰. 当时我们的生产环境中是这样配置日志系统的: ...

  10. 第十届蓝桥杯大赛软件类省赛C/C++研究生组 试题I:灵能传输

    在游戏<星际争霸 II>中,高阶圣堂武士作为星灵的重要 AOE 单位,在游戏的中后期发挥着重要的作用,其技能"灵能风暴"可以消耗大量的灵能对一片区域内的敌军造成毁灭性的 ...