hackinglab之脚本关

2023-10-17 22:20
文章标签 脚本 hackinglab

本文主要是介绍hackinglab之脚本关,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、key又又找不到了

打开链接,里边有个跳转,产看源代码:
在这里插入图片描述
发现一个界面一闪而逝,所以拦住(bp哦)它,看看有啥玄机:
查看源码,果然在这:
在这里插入图片描述

2、快速口算

这个题肯定不是手算啦,写个python脚本即可:

import requests
import reurl='http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php's= requests.Session()
r=s.get(url)
r.encoding='utf-8'
print(r.text)
num=re.findall(re.compile(r'<br/>\s+(.*?)='),r.text)[0]
result=eval(num)
r=s.post(url,data={'v': eval(num)})
print (r.text)

在这里插入图片描述

3、这个题目是空的

空的,什么是空的呢?

提示了小写,意味着肯定是有输入信息的,表示空的那只能是null了啊

4、key又又找不到了

这个题还是有点难受的啊

首先产看源代码,是一个js在调用a()函数,则说明有一段函数代码,F12在source里找到,直接拿到HTML在线运行工具执行一遍发现不对啊,还是没有弹框,查看代码,发现有三段return干扰代码,直接删除,运行,弹窗了~

这个题目建议在firefox浏览器进行,因为google弹窗不能复制,还会显示干扰 -_-

5、逗比验证码第一期

这个大概测试了一下,不能注入,只能爆破,验证码可以用一个

所以bp拦包,直接爆破,字典就是1000-9999

线程设置高一点,一下子就跑出来了

6、逗比验证码第二期

这个比较复杂,虽然也是爆破,但是由于验证码一次之后就失效了,所以这里我们需要卡一波bug,在第一次输入正确验证码后,留下的cookie值不要让其失效,紧接着验证下一个密码即可,这是大概的原理。
具体操作就是,设置两个爆破点一个就是密码,另一个是vcode,密码就用刚才的四位纯数字字典,另一个字典为空,即可跑出来:
在这里插入图片描述

自己耐心点实践哦~,有问题可以大家一起交流

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

这个也可以和上边那题目一样:
在这里插入图片描述

8、微笑一下就能过关了

这一关,说实话难倒我了,不过找到了一个关键代码:

<?php  header("Content-type: text/html; charset=utf-8");if (isset($_GET['view-source'])) { show_source(__FILE__); exit(); } include('flag.php'); $smile = 1;   // 这里是给smile赋初值
// 下边这些正则表达式进行判断if (!isset ($_GET['^_^'])) $smile = 0;  if (preg_match ('/\./', $_GET['^_^'])) $smile = 0;  if (preg_match ('/%/', $_GET['^_^'])) $smile = 0;  if (preg_match ('/[0-9]/', $_GET['^_^'])) $smile = 0;  if (preg_match ('/http/', $_GET['^_^']) ) $smile = 0;  if (preg_match ('/https/', $_GET['^_^']) ) $smile = 0;  if (preg_match ('/ftp/', $_GET['^_^'])) $smile = 0;  if (preg_match ('/telnet/', $_GET['^_^'])) $smile = 0;  if (preg_match ('/_/', $_SERVER['QUERY_STRING'])) $smile = 0; //preg_match ( string $pattern , string $subject , string $matches)//搜索subject与pattern给定的正则表达式的一个匹配.//pattern : 要搜索的模式,字符串类型(正则表达式)。//subject : 输入的字符串。//matches :(可有亦可无)如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。//所以以上就是把http、https这些在$pattern位置的字符都过滤了if ($smile) { if (@file_exists ($_GET['^_^'])) $smile = 0;  } //这里是file_exists() 函数检查文件或目录是否存在判断^_^不是一个文件//下边是这道题目的关键,也是最看不懂的//大概就是获取^_^的值,赋值给smile//若(●'◡'●)为smile则返回flagif ($smile) { $smile = @file_get_contents ($_GET['^_^']);  if ($smile === "(●'◡'●)") die($flag);  }  
?> 

这里构造的payload为:

http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/?^.^=data://text/plain;charset=unicode,(●'◡'●)

9、逗比的手机验证码

这个登录进去发现需要验证另一个手机,但是又收不到验证码,可以先在自己手机上得到验证码,不要点掉,重新打开一个标签,把另一个手机的验证码填进去,就好了:

在这里插入图片描述

10、基情燃烧的岁月

根据提示,制作100-999的字典,直接bp爆破
在这里插入图片描述
又发现一个电话号码,接着爆破就OK了

11、验证码识别

这一关有点坑,找了很多方法。。。

这一关主要是验证码会过期,需要工具啥的来配合才能爆破

网上好多人都是用python脚本来跑的:
比如:

import pytesseract
from PIL import Image
import requests
import os
cur_path = os.getcwd()
vcode_path = os.path.join(cur_path, 'vcode.png')
header = {'Cookie': 'PHPSESSID=$Your Value'}def vcode():# 验证码识别函数pic_url = 'http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/vcode.php'r = requests.get(pic_url, headers=header, timeout=10)with open(vcode_path, 'wb') as pic:pic.write(r.content)im = pytesseract.image_to_string(Image.open(vcode_path))im = im.replace(' ', '')if im != '':return imelse:return vcode()url = 'http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/login.php'
for i in range(100, 1000):code = vcode()data = {'username': '13388886666', 'mobi_code': str(i), 'user_code': code}r = requests.post(url, data=data, headers=header, timeout=10)response = r.content.decode('utf-8')if 'user_code or mobi_code error' in response:print('trying ' + str(i))else:print('the mobi_code is ' + str(i))print(response)break

但是我高了好久都会报错,不是模块的错,python版本是python3.x,反正就是跑不出来,还有好多,还有用工具的。。。太菜了,只能等待后续大佬出新教程了

12题之后的网站我打不开了…脚本关就到这里吧,后续可以了再更新~

·
·
·
·
·
·
·

《小白记录》

这篇关于hackinglab之脚本关的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/228314

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删