HackingLab脚本关

HackingLab实验链接http://hackinglab.cn/

脚本关部分题目过关攻略

第一关 

Bp抓包,在Response中有跳转,找到key

图片1

第二关 

图片2
编写python脚本
import requests,re

url = 'http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
session = requests.session()
r = session.get(url).content

p = re.findall(r"
([\s|\S]*?)=<", r)
s = eval(p[0].strip())

data = {'v': s}
print session.post(url, data).content
执行脚本得到key
图片3

第三关 

输入null

第四关 怎么就是不弹出key呢?

点开链接,查看源代码,然后运行这一部分代码

图片4

选择前14个字符作为key

图片5

第五关 逗比验证码第一期

打开连接,输入验证码和随便一个密码,用bp抓包,发送到Repeater,第一次返回的是

pwd error

然后修改密码再次提交依然报错pwd error,说明验证码没有改变,发送到Intruder进行密码爆破

得到key

图片6

第六关 逗比验证码第二期

操作同上,burpsuite抓包,发送到Repeater,第一次提示pwd error,修改密码后提交,提示的是vcode error,验证码错误,将验证码改为空,提交后提示pwd error,此时再修改密码都会提示pwd error,说明验证码已经没有作用,这样就可以爆破密码了

图片7

爆破后得到key

图片8

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

这个题目作者的意思应该是通过设置session来控制会话,这样就不容易爆破了,但是在测试的时候发现session没有起作用,方法跟第六关一样,可以得到key,oops(*…*)

第八关 微笑一下就能过关了

点开链接后,需要提价一个值

图片9

查看源文件,有一个viewsource的链接,点击后可以看到php代码

<?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);  
    }  
?>   

表示此题还没研究完。。。

 

第九关 逗比的手机验证码

点击获取手机验证码,输入后得到提示

please login as 13388886666

返回登录,先用以前的号码6666获取到验证码,然后修改登录手机号为6667,登录可以看到key

第十关 基情燃烧的岁月

点击获取验证码时,根据提示手机验证码是3位数字,开头不是0,也就是范围100-999,使用bp抓包进行爆破,得到验证码

图片10

根据提示,需要用新手机号13399999999登录,首先点击获取验证码,得到一样的密码位数提示,抓包爆破,成功得到key

图片11

第十一关 验证码识别

这个题目中的手机验证码以及图片验证码都是不断变化的,如果要爆破手机验证码需要每一次都输入正确的图片验证码,好在图片验证码安全性比较低,很好识别,需要验证码图像识别的插件工具辅助进行。

 

第十二关 XSS基础关

输入框中直接提交

<script>alert(1)</script>

得到提示

Please use alert(HackingLab)!!

修改payload,提交后得到key

图片12

第十三关 XSS基础2:简单绕过

输入上一关的xss payload会有xss注入提示

图片19

说明对某些关键字进行了过滤,<script>被过滤了,构造以下xss payload

图片13

提交后得到key

图片14

第十四关 XSS基础3:检测与构造

测试发现很多关键字都被过滤了,然后发现一个有趣的过滤规则

就是当value的值是敏感值时,后边的载荷不会被过滤

图片15

基于此构造pyaload,提交后返回key

图片16

第十五关 Principle很重要的XSS

有一个隐藏的Hint,全选可以看到

图片17

输入的内容返回在href属性中,然后在返回的内容中有注释提示

图片18

继续研究,还没完成!

 

 

 

 

您可能还喜欢...