HackingLab脚本关
目录
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的绕过
未完待续。。
HackingLab脚本关的更多相关文章
- hackinglab 脚本关 writeup
地址:http://hackinglab.cn 脚本关 key又又找不到了 点击提供的链接后,实际发生了两次跳转,key 在第一次跳转的网页中,key is : yougotit_script_now ...
- hackinglab 基础关 writeup
地址:http://hackinglab.cn/ 基础关 key在哪里? 很简单,点击过关地址,在新打开的网页中查看网页源代码就能在 HTML 注释中发现 key 再加密一次你就得到key啦~ 明文加 ...
- HackingLab基础关
目录 1:Key在哪里? 2:再加密一次你就得到key啦~ 3:猜猜这是经过了多少次加密? 4:据说MD5加密很安全,真的是么? 5:种族歧视 6:HAHA浏览器 7:key究竟在哪里呢? 8:key ...
- 网络安全实验室 脚本关通关writeup
[1]key又又找不到了查看源代码.发现key的路径,点击进行了302跳转,抓包,得到key [2]快速口算要2秒内提交答案,果断上python import requests,re s = requ ...
- pyhton验证码识别
1.PIL 下载地址: PIL-1.1.7.win-amd64-py2.7.exe 2.tesseract-ocr下载地址: tesseract-ocr-setup-3.02.02.exe 3.pyt ...
- python验证码识别
关于利用python进行验证码识别的一些想法 用python加“验证码”为关键词在baidu里搜一下,可以找到很多关于验证码识别的文章.我大体看了一下,主要方法有几类:一类是通过对图片进行处 理,然后 ...
- Tomcat学习四步走:内核、集群、参数及性能
主题简介: 内核实现原理 分布式集群 生产部署关键参数 性能监控和分析 一.内核实现原理 HTTP Web服务器与浏览器之间以HTTP协议通信,浏览器要访问服务器即向服务器发送HTTP请求报文. 如图 ...
- 使用Js脚本 修改控制IE的注册表相关设置(activex等)
使用Js脚本 修改控制IE的注册表相关设置(activex等) 分类: PHP2012-12-05 18:51 2035人阅读 评论(2) 收藏 举报 脚本写法: <SCRIPT LANGUAG ...
- php 关了浏览器也可以自动运行脚本
<?php ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. set_time_limit(0); //执行时间为无限制,php默认 ...
随机推荐
- 如何在 C# 中使用 const,readonly,static
平时在开发时经常会用到 const,readonly,static 关键字,可以肯定这些关键词是完全不同的概念,但有时候他们在用法上很相似以至于在场景中不知道选择哪一个,这篇文章我们就来讨论 C# 中 ...
- WEB服务-Nginx之十-keepalived
WEB服务-Nginx之10-keepalived 目录 WEB服务-Nginx之10-keepalived Keepalived和高可用 基本概述 Keepalived安装配置 Keepalived ...
- Go Module实战:基于私有化仓库的GO模块使用实践
新年开工近一月,2021 年第一期 Open Talk 定档 3 月 18 日晚 8 点,本期我们邀请到了又拍云资深后端开发工程师刘云鹏和我们一起聊聊 Go 最新特性 Go Module 实战. 刘云 ...
- Hive源码分析(1)——HiveServer2启动过程
1.想了解HiveServer2的启动过程,则需要找到启动HiveServer2的入口,hive服务的启动命令为hive --service HiveServer2,通过分析$HIVE_HOME/bi ...
- 这个Bug的排查之路,真的太有趣了。
这是why哥的第 92 篇原创文章 在<深入理解Java虚拟机>一书中有这样一段代码: public class VolatileTest { public static volat ...
- ECMAScript 2017(ES8)新特性简介
目录 简介 Async函数 共享内存和原子操作 Object的新方法 String的新方法 逗号可以添加到函数的参数列表后面了 简介 ES8是ECMA协会在2017年6月发行的一个版本,因为是ECMA ...
- MyBatis:当表字段名和实体类属性名不一致
第一种解决方法:在sql中使用别名 <select id="getRoleList" resultType="com.ttpfx.domain.Role" ...
- Mac下安装lightgb并在jupyter中使用
1.先安装cmake和gcc brew install cmake brew install gcc 2.下载后确定自己的gcc版本 cd /usr/local/opt/gcc/lib/gcc/ 看到 ...
- 软件漏洞--Hello-Shellcode
软件漏洞--Hello-Shellcode 使用上一次的栈溢出的漏洞软件 可以直接通过栈溢出来修改返回值,或者要跳转的函数地址 实现一个ShellCode来跳转自己的代码 源bug软件代码 #defi ...
- canvas绘制图像轮廓效果
在2d图形可视化开发中,经常要绘制对象的选中效果. 一般来说,表达对象选中可以使用边框,轮廓或者发光的效果. 发光的效果,可以使用canvas的阴影功能,比较容易实现,此处不在赘述. 绘制边框 绘制 ...