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默认 ...
随机推荐
- 常见 git 需求整理(持续更新中)
首发于 语雀文档 突然感觉自己对 git 还是挺熟悉的,因为团队里新来的七八号应届生来问我 git 问题,基本没有答不上的情况,但为了能更好地对知识进行整理,还是记录一下为好. (希望能)持续更新.. ...
- P2424 约数和 【整除分块】
一.题目 P2424 约数和 二.分析 因为都是加法,那么肯定有的一个性质,即前缀和的思想,就是$$ { ans =\sum_{i=1}^y f(i)} - {\sum_{i=1}^x f(i)} ...
- python3 循环位移动
python3 中 >> 为算术右移位,高位补符号位: <<为左移位,低位补0: 1 # 假如将一个无符号的数据val,长度为N,需要循环移动n位.可以利用下面的公式: 2 ...
- 《C++反汇编与逆向分析技术揭秘》--数据类型
浮点数类型 IEEE标准从逻辑上采用一个三元组{S, E, M}来表示一个数N,它规定基数为2,符号位S用0和1分别表示正和负,尾数M用原码表示,阶码E用移码表示.根据浮点数的规格化方法,尾数域的 ...
- 【小白学算法】5.链表(linked list)、链表的添加
链表其实也就是 线性表的链式存储结构,与之前讲到的顺序存储结构不同. 我们知道顺序存储结构中的元素地址都是连续的,那么这就有一个最大的缺点:当做插入跟删除操作的时候,大量的元素需要移动. 如图所示,元 ...
- RabbitMQ 入门 (Go) - 2. 发布和接收消息
本文我将使用 Go 语言在 RabbitMQ 上发布和接收消息. Go 的标准库本身并没有 RabbitMQ 的原生绑定,但是有一个第三方库确能够支持 RabbitMQ,它的源码在 https://g ...
- 优化 ASP.NET Core Docker 镜像的大小
在这容器化的世界里,我们已经很少直接通过文件发布来运行asp.net core程序了.现在大多数情况下,我们都会使用docker来运行程序.在使用docker之前,我们往往需要打包我们的应用程序.as ...
- 在ASP.NET Core中用HttpClient(六)——ASP.NET Core中使用HttpClientFactory
到目前为止,我们一直直接使用HttpClient.在每个服务中,我们都创建了一个HttpClient实例和所有必需的配置.这会导致了重复代码.在这篇文章中,我们将学习如何通过使用HttpClient ...
- 「Leetcode-算法_MId1006」从单栈到双栈
Mid 1006 笨阶乘 栈/后缀 运算优化 + 栈 思路描述 每四个数一组 这四个数中前三个会进行乘.除 然后与最后一个相加 Stack 入前三个之和 与 最后一个数 以 4 举例 运算式 4 * ...
- SIP (Session Initiation Protocol) 协议
Session Initiation Protocol 介绍 SIP是VoIP技术最常使用的协议,它是一种应用程序层协议,可与其他应用程序层协议配合使用,以控制Internet上的多媒体通信会话. V ...