目录

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. Linux速通 随笔整理

    Linux速通 随笔整理 为了方便阅读,特整理了相关的学习笔记 零.大纲 一.系统安装 二.命令格式 三.文件管理 四.用户群组 五.文件处理 六.系统初始化及监控 七.硬盘初始化 八.网络原理

  2. MYSQL-SQLSERVER获取某个数据库的表记录数

    MYSQL: 1,可以使用MYSQL的系统表的记录数(亲测,有时候,会不准确,被坑了一把,如果还是想通过此方式实现查询表记录数,可以按照文章后的链接进行操作) use information_sche ...

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

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

  4. ICPC题目选讲

    Traveling in the grid world 题目描述 有一个 \(n\times m\) 的格点图,两点之间走他们的连线,但是这条连线不能恰好覆盖其他整点.还要求相邻两步之间的连线不能斜率 ...

  5. [BJOI2020] 封印

    一.题目 点此看题 二.解法 今天不知道为什么手感这么好,写一发完全没调就过掉了. 我感觉这种多组询问的字符串题是很难的,经常没有什么思路.我先考虑了一下能不能像 区间本质不同的子串个数 这样直接离线 ...

  6. 安装VMTools失败的三类解决方法(Windows、Linux、MacOs)

    前言 写这篇笔记的原因,是前几天在虚拟机 Vmware 中重新安装了几个操作系统,突然发现 VMTools 这个工具成了一个特殊的问题,以前还没有发现,因为通常它就给你自动安装了.但是大多数时候也是需 ...

  7. golang 二维平面求多重遮挡三角形总面积

    解决问题描述:二维平面有很多三角形错落,可能会相互叠加落在一起,也可能互相远离.目标求出这些三角形的总占地面积. 我最开始想的解决方案是用总面积-总重叠面积 = 总占地面积.后来实现起来发现当面临多次 ...

  8. L3-021 神坛 (叉积排序+向量积求面积)

    题目链接 https://pintia.cn/problem-sets/994805046380707840/problems/994805046577840128 题意:给定n个点求三角形最小面积: ...

  9. DEV表格设置列不可编辑

    现在是可编辑的 Run Designer--Columns--Column options下的AllowEdit属性改为false即可

  10. java例题_23 递归求年龄

    1 /*23 [程序 23 求岁数] 2 题目:有 5 个人坐在一起,问第五个人多少岁,他说比第 4 个人大 2 岁.问第 4 个人岁数,他说比第 3 个 3 人大 2 岁.问第三个人,又说比第 2 ...