WP----Look 我看的见你,你却看不见我 tips:sql injection tips2: mysql 字符集

0x00

题目连接打开后,是空白的,源代码也是空白的

这种情况就抓包,看请求包和相应包里面是否有提示

相应包中存在很特别的响应头X-HT: verify

可能是参数,传递任意参数过去

0x01

传递5个长度的参数时,返回

说明参数的长度是4

然后题目提示是sql注入,最基本的就是将参数使用宽字节注入 ,单引号’或者“过滤掉

所以payload的大概形式是

'XX%23
中间两个字符,用字典跑出来

通过爆破,尝试出多个payload,其中一个是  '%1%23

0x02

传递参数得到提示:

打开新的页面 

hello??? 相应包中还有另外一个自定义头,值是viminfo

这个viminfo是状态文件,url中添加.viminfo打开查看,得到如下提示

最后发现后面的~~~还是需要保留的,才能打开文件

这段php的目的是让你传递参数usern3me是Bctf2016,但有不能直接是Bctf2016的形式,才会显示接下来的页面

就是传递的参数usern3me=Bctf2016被过滤掉,尝试另一种形式进行绕过

这里出现mysql_query("set names utf8");  用到带腭化符的字母,利用字符的差异进行绕过

在下面的连接里,找Bctf的替换字符,

Special Characters - Character set for HL - CS - AlliedModders (alliedmods.net)

payload:?usern3me=Bçtf2016

 再来抓包看信息 ,啥也没有还是被被过滤掉了

最后试出来有用的payload不仅要把c替换掉,还得把2016换成2O16

这样就得到了下一步的地址

0x03

首先这个文件,需要传递两个参数:path、filename;而且upload/与filename结合形成name

file_put_contents()是写文件,file_get_contents()是读文件

就是说这一段的代码的含义是:上传path的页面内容 被 写入到本地的upload/目录下的以filename命名的文件。

这就类似于文件包含,而且在上一个文件521的文件,参数usern3me传递什么值,就返回在页面上什么结果

这就说明可以在usern3me上传递shell。之后我们在upload目录下访问这个文件

0x04实现getshell

首先测试phpinfo()

出现空格就被把空格及之后的过滤掉了

听说是使用url编码二次加密,原本空格是%20,变成%2520

好,确实管用。把后面的空格也得加密 

之后再把.txt后缀改成php后缀

好的存在漏洞

之后在这个点上,可以放上一句话木马,之后连接菜刀;也可以放上执行命令,传参执行命令

system($_REQUEST[cmd]);

最后的payload:

?path=http://127.0.0.1/5211ec9dde53ee65bb02225117fba1e1.php?usern3me=%3C?php%2520system($_REQUEST[cmd]);?%3E&filename=1.php

最后传递cmd参数位置上传递命令。就能找到flag

总结

这道题目最主要的考点是文件包含,在上一个文件存在字符串写入点,与下一个文件的写文件的命令file_put_contents()结合,获得服务器的shell。

题目当中学到的小要点:

1.打开页面空白就查看源代码,还没信息就查看数据包

2.在数据包中自定义的头,就是提示

3.viminfo是文件状态文件。.viminfo打开

4.对于空格的过滤,%20变成%2520

5.除了一句话木马连getshell,还可以上传system()来getshell

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java SourceDataLine 播放音频 显示频谱

Java SourceDataLine 播放MP3音频 显示频谱 1 添加依赖2 快速傅里叶变换2.1 FFT.java2.2 Complex.java 3 音频播放3.1 Player.java3.1 XPlayer.java 4 显示频谱5 结果 项目Value音频格式 添加依赖*.wav(JDK 原生支持)*.pcm(JDK 原生支持)*.au(JDK 原生支持)*.aiff(JDK 原生支持…

SQL 练习题目(入门级)

今天发现了一个练习SQL的网站--牛客网。里面题目挺多的,按照入门、简单、中等、困难进行了分类,可以直接在线输入SQL语句验证是否正确,并且提供了测试表的创建语句,也可以方便自己拓展练习,感觉还是很不错的一个网站&a…

10MARL深度强化学习 Value Decomposition in Common-Reward Games

文章目录 前言1、价值分解的研究现状2、Individual-Global-Max Property3、Linear and Monotonic Value Decomposition3.1线性值分解3.2 单调值分解 前言 中心化价值函数能够缓解一些多智能体强化学习当中的问题,如非平稳性、局部可观测、信用分配与均衡选择等问题…

2024年.NET框架发展趋势预测

.NET框架仍然是全球开发人员的编程基石,为构建广泛的应用程序提供了一个通用的、强大的环境。微软对创新的坚定承诺见证了.NET的发展,以满足技术领域不断变化的需求。今年,在更广泛的行业运动、技术进步和开发者社区反馈的推动下,…

软件测试需要学习什么?好就业吗?

目前来说的话,整个it 都不太好!但是既然你问了,我也就告诉你吧! 1功能测试 :前端和后端,前端就是简单的页面,你需要考虑的是:必填项,边界值,组合&#xff0c…

智能搬运机器人|海格里斯将如何持续推进工业和物流的智能化升级与发展?

存取、搬运、分拣是物流行业中的通用功能,但具体到每个行业又十分不同,例如:新能源电池领域,它所搬运的东西是电池,50KG~200KG;快递行业领域,所要处理的物料是那种扁平件和信封等等,…

51单片机学习(3)-----独立按键控制LED的亮灭状态

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步了。 目录 一. 器件介绍及实验原理 1.独立按键 (1)独…

Unity3d C#转换微信小游戏按小游戏包内模式包体20M限制问题记录

前言 在利用这个官方插件(minigame-unity-webgl-transform)将Unity3d的 项目转换为微信小游戏的过程中,转出的包体(首包资源加载方式:小游戏包内)不能超过20m的限制,如果大于这个值就需要采用首…

libigl 网格曲率计算

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Mesh曲率特征通常指的是在三维几何网格(Mesh)上计算的曲率相关的一系列特征,包括主曲率、高斯曲率、平均曲率等。这些曲率特征提供了对Mesh表面形状的详细描述,对于表面形状分析、形状比较和几何建模等领域非常…

BUGKU-WEB 文件包含

题目描述 题目截图如下: 进入场景看看: 解题思路 你说啥我就干啥:点击一下试试你会想到PHP伪协议这方面去嘛,你有这方面的知识储备吗? 相关工具 解题步骤 查看源码 看到了一点提示信息: ./index.…

[TCP] TCP/IP 基础知识词典(2)

我想统计一下,TCP/IP 尤其是TCP协议,能搜到的常见的问题,整理起来,关键词添加在目录中,便于以后查阅。 目前预计整理共3篇: [TCP] TCP/IP 基础知识问答 :基础知识 [TCP] TCP/IP 基础知识问答&…

LeetCode--代码详解 59. 螺旋矩阵 II

59. 螺旋矩阵 II 题目 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2: 输入&a…

django配置视图并与模版进行数据交互

目录 安装django 创建一个django项目 项目结构 创建视图层views.py 写入视图函数 创建对应视图的路由 创建模版层 配置项目中的模版路径 创建模版html文件 启动项目 浏览器访问结果 安装django pip install django 创建一个django项目 这里最好用命令行完成&#xf…

力扣OJ题——随机链表的复制

题目: 138. 随机链表的复制 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 要求:构造这个链表的 深拷贝 深拷贝应该正好由 n 个 全新 节点组成,其中…

websocket与Socket的区别

概念讲解 网络:通俗意义上,也就是连接两台计算器 五层网络模型:应用层、传输层、网络层、数据链路层、物理层 应用层 (application layer):直接为应用进程提供服务。应用层协议定义的是应用进程间通讯和交互的规则,不…

数据库事物复习

事务 比如说将张三的银行账户拿出一千给李四,首先需要查询张三的账户余额,扣除1000,然后如果给李四加上1000的过程中出现异常会回滚事务,临时修改的数据会回复回去。 -- 1. 查询张三账户余额 select * from account where name …

【2024软件测试面试必会技能】Selenium(6):元素定位_xpath定位

XPATH是什么 XPATH是一门在XML文档中查找信息的语言,XPATH可用来在XML文档中对元素和属性进行遍历,主流的浏览器都支持XPATH,因为HTML页面在DOM中表示为XHTML文档。Selenium WebDriver支持使用XPATH表达式来定位元素。 Xpath常用如下6种定位…

安卓APP和小程序渗透测试技巧总结

本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他应用进行非法操作,若将其用于非法目的,所造成的后果由您自行承担。 由于安卓7开始对系统安全性做了些改动,导致应用程序不再信任客户端证书,除非应用程序明确…

OpenTiny Vue 组件库适配微前端可能遇到的4个问题

本文由体验技术团队 TinyVue 项目成员岑灌铭同学创作。 前言 微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略,每个应用可以选择不同的技术栈,独立开发、独立部署。 TinyVue组件库的跨技术栈能力与微前端十…

搜维尔科技:【周刊】适用于虚拟现实VR中的OptiTrack

适用于 VR 的 OptiTrack 我们通过优化对虚拟现实跟踪最重要的性能指标,打造世界上最准确、最易于使用的广域 VR 跟踪器。其结果是为任何头戴式显示器 (HMD) 或洞穴自动沉浸式环境提供超低延迟、极其流畅的跟踪。 OptiTrack 主动式 OptiTrack 世界领先的跟踪精度和…