版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Cookie注入攻击主讲人PPT时间20XX.XX项目介绍01建立Cookie验证功能的网站02Cookie注入攻击测试03Cookie注入攻击防护04CONTENT目录项目总结05项目介绍01Part0102本项目对利用Cookie提交数据的SQL注入攻击和防护进行实训。包含三个任务,建立具有Cookie验证功能的网站,实现基于Cookie数据的SQL注入,以及实现Cookie注入防护。通过本项目实训,可以解释和分析Cookie注入漏洞产生的原理及危害,能够应用转义函数或者参数化查询实现对CookieSQL注入的防护。项目描述Cookie的概念Cookie最先由Netscape公司提出并引入到Navigator浏览器,之后被万维网协会采纳。现在,绝大多数浏览器都支持Cookie。Cookie是一种能够让Web服务器把少量数据储存到客户端的硬盘或内存里,或是从客户端的硬盘里读取数据的一种技术,其最根本的用途是帮助Web站点保存有关访问者的信息。Cookie的格式为:(1)每个Cookie都以键/值对的形式,即key=value,(2)键和值都必须是URL编码的,(3)两对Cookie间以分号和空格隔开。Cookie的处理过程为:(1)服务器向客户端发送Cookie,(2)浏览器将Cookie保存,(3)之后的每次HTTP请求浏览器都会将Cookie发送给服务器端。Cookie在生成时会被指定一个Expires值,如果不指定则关闭浏览器后消失。此Expires值就是Cookie的生命周期,超出周期Cookie就会被清除。另外,用户在刷新页面或者打开网站的其它页面时应该重新更新Cookie的到期时间,以避免出现在使用网站的过程中因Cookie到期而突然让用户重新登录的情况。Cookie和Session的区别Session也是用于保存用户信息。Session与Cookie的区别是Cookie将用户信息保存在客户端浏览器中,而Session保存在服务器上。每个Session对应一个SessionID,由服务器自动分配,写入到用户浏览器的Cookie中。因此,SessionID要使用Cookie保存,如果客户端禁用了Cookie,就要使用其它的方法在浏览器端保存SessionID。知识储备Cookie注入攻击原理Cookie注入攻击就是利用Cookie向服务器端提交信息而发起的注入攻击。Cookie注入与传统的SQL注入并无不同,两者都是针对数据库的注入,只是表现形式上不同。Cookie注入攻击利用了Cookie的处理过程的第三个阶段,即将Cookie发送给服务器端时,通过修改Cookie的内容引起SQL注入攻击。CookieSQL注入攻击的危害由于Cookie功能用于读取客户端的信息,是Web站点的常用功能,因此Cookie
SQL注入攻击较容易发生。Cookie注入与Post型、Get型SQL注入攻击的区别是方式不同,但危害性是一致的。由于Cookie注入攻击不涉及到用户以Post或者Get方式提交的数据,因此更加具有隐蔽性。知识储备建立Cookie验证功能的网站02Part在Apache的网站根目录C:\Apache24\htdocs\下新建一个文件夹cookie作为本项目的网站目录。并项目3的con_database.php文件复制到本项目的网站目录。本项目使用项目3的数据库。另外,由于【任务5-2】节将admin用户的密码修改成了admin,重复5-1-2节修改密码的步骤将其重新修改为admin123。接下来,在C:\Apache24\htdocs\cookie\目录下新建一个index.php文件。代码简要分析:本页面实现的功能是,如果在浏览器当前域名下的Cookie中没有account的值,表明没有登录或者Cookie已经过期,便输出一个登录的表单。否则根据account的值到数据库中查询是否存在该用户,如果存在该用户则显示用户信息并重新设置Cookie的到期日期,否则输出“Error”信息。第11行自定义的JavaScriot函数clearCookies()实现了删除浏览器端保存的Cookie的功能。删除Cookie使用的方法是将Cookie设置为过期。第17行实现页面刷新。01020304任务实现第27行判断浏览器是否存在名为account的Cookie的值,如果不存在,输出登录的表单供用户提交登录账号和密码。否则(第62行)显示用户相关信息和Cookie到期时间。用户每次刷新或者重新打开该页面,则更新Cookie到期日期(第76行)。注意:如果网站有多个网页,需要在每个网页都要设置Cookie到期日期的更新,以避免用户使用的时间过长而退出登录。第49行使用setcookie()函数设置Cookie信息的键值对,并设置该Cookie信息的超时时间为1个小时。如果不设置超时时间,关闭浏览器后Cookie的信息即丢失。如果用户长时间没有操作页面,当时间到达Cookie到期日期后则Cookie信息消失。第64行,根据从浏览器获得的account的Cookie值构造SQL查询语句,并输出该用户的密码(第83行)。另外,需要注意第72行、第83行输出变量的XSS跨站攻击漏洞风险。05060708任务实现打开浏览器,在地址栏输入服务器的地址和相对路径以及文件名,即可访问。如果是本地访问,可以输入http://localhost/cookie/index.php打开页面。在Username和Password分别输入admin和admin123,点击Submit,登录成功之后的界面。刷新页面后发现Cookie的到期日期发生变化。关闭并重新打开IE浏览器,访问http://localhost/cookie/index.php页面,页面内容与登录成功界面相同,不需要输入登录信息,但是Cookie的到期日期发生变化。说明Cookie信息在浏览器关闭后仍然存在。点击“清除Cookie”按钮,发现页面刷新后回到登录界面。Cookie验证功能测试Cookie注入攻击测试03Part对Cookie信息进行编辑并提交需要利用抓包软件抓取HTTP协议的数据。抓包软件的工作原理是在浏览器与服务器之间作为中间人进行代理转发。常用的抓包工具有BurpSuite、Wireshark、Fiddler等。查看操作系统的实际IP地址的方法为:右键点击Windows开始菜单,选择运行命令提示符,在命令提示符窗口中输入命令ipconfig,则可以看到操作系统的实际IP。攻击准备设置Firefox使用代理的方法为:打开浏览器应用程序菜单,选择运行“设置”菜单项,在设置页面中的“常规”标签页滑动到最后的“网络设置”功能区域,点击“设置”按钮即可打开连接设置窗口,然后在“配置访问互联网的代理服务器”功能区域选择“手动配置代理”选项。由于测试的网站都没有配置HTTPs协议,因此只需要在“HTTP代理”编辑框输入“”,端口编辑框输入“8888”即可。输入完成后点击确定按钮即可完成设置。攻击准备Firefox浏览器的优势在于可以灵活的设置网络连接代理。但当前最新版本的Firefox浏览器的代理策略发生了变化,强制与localhost、和::1的连接永不经过代理。因此,如果在运行Web服务器的WindowsServer2016Standard操作系统作为测试机进行攻击测试,且网址中的主机地址使用以上IP时,Fiddler代理将不起作用。因此,可以使用Web服务器的实际IP地址进行Web资源访问。本教材选择使用Fiddler4.6作为抓包代理软件。Fiddler是以Web服务器代理的形式在测试机工作的,当Fiddler开启后会自动启动自身代理功能,退出后会自动注销代理。它使用的代理IP地址为测试机的回环地址,端口为8888。因此,在测试机的浏览器需要设置好Fiddler使用的代理IP和端口信息,即可在Fiddler实施抓包和文件上传漏洞攻击等。攻击准备BurpSuite是一款由PortSwigger公司开发的集成式Web应用安全测试平台,有免费版和商业版,广泛用于网络渗透测试、应用程序安全测试等场景,功能强大,但有一定的学习成本和使用门槛。Wireshark是开源软件,可用于抓包,但不是针对Web应用抓包开发。TelerikFiddler是一款功能强大的HTTP协议调试代理工具,通过捕获、查看、修改和重放网络请求和响应,能够帮助用户进行接口调试、性能分析、安全测试和网络故障排查等工作,使用门槛比BurpSuite要低很多,当前其classic版本为免费版。启动Fiddler,其界面。窗口顶部为菜单栏和快捷工具栏,左边为会话列表,右边的窗口有很多选项卡,鼠标左键点选左边的一条会话,在右上窗口的“Inspectors”选项卡中就可以查看此会话的内容,其中上半部分是浏览器请求的内容,下半部分是服务器响应的内容。在左边的会话列表窗口中每一条记录都是一条HTTP会话,鼠标左键点选后可以通过键盘的Delete键删除。点击快捷工具栏的红叉菜单,选择“Removeall”菜单项可以清除窗口中所有的会话。攻击准备另外,Fiddler启动后可能会打开操作系统的全局代理。如需关闭作系统的全局代理,可以在操作系统的“开始”菜单->“设置”->“网络和Internet”->“代理”的功能页面中将“使用代理服务器”切换为“关”状态。如果此时Fiddler界面出黄色提示信息“系统代理已改变”,点击此黄色提示即可继续抓包。由于Cookie注入攻击需要修改HTTP的头部数据,因此需要断点功能拦截浏览器发送的HTTP包,修改Cookie信息后再放行,以实现攻击的目标。打开断点功能的方法很简单,只需要在“Rules”菜单打开二级菜单“AutomaticBreakpoints”,然后点击第一个菜单项“Before
Requests”即可。如果需要关闭断点功能,再点击第三个菜单项切换到“Disabled”即可。由于使用了最新版的Firefox不支持代理localhost访问,需要在Firefox浏览器地址栏输入本地真实IP并打开网页,因此地址栏需要输入<urlid="cv97nm7hvltiannd2mu0"type="url"status="failed"title=""wc="0">43/cookie/index.php</url>(注意根据自己使用的测试用机的实际IP修改URL中的IP地址)。这时需要在Fiddler的快捷工具栏中点击Go按钮放行才能打开页面。然后在Username和Password分别输入admin和admin123,点击Submit提交登录。这时需要在Fiddler的快捷工具栏中点击Go按钮放行,才能登录成功。注意打开断点功能后,每次访问页面都需要点击Go按钮放行。0102Cookie注入攻击过程登录成功之后,为避免干扰,先清除所有的会话,然后点击浏览器的“刷新当前页面”,此时HTTP请求将发送Cookie信息到服务器被拦截。03Cookie注入攻击过程在Inspectors选项卡的Raw窗口(在此窗口可查看完整的消息结构),可以看到当前页面的Cookie内容。将Cookie行account的值admin修改为:abc'unionselect1,2,group_concat(schema_name)frominformation_schema.schemata#。在会话窗口点击选中当前会话,然后点击Go按钮,回到浏览器发现用户名的值变成了2,YourPassword的值变成了MySQL数据库的内容。0504如果还要进行其它的注入攻击,先点击“清除Cookie”按钮清除当前的Cookie,再登录后编辑Cookie的内容。06Cookie注入攻击过程Cookie注入攻击防护04Part通过Cookie注入攻击分析可以发现,引起注入攻击的原因在于将Cookie的值作为SQL变量进行数据库查询时,没有对其进行转义或者使用参数化查询。因此,防护手段就可以对Cookie的值使用转义或者使用参数化查询。防护手段打开index.php,将64行修改为:$cookee=mysqli_real_escape_string($con,$_COOKIE['account']);从攻击结果可以看出,使用转义函数成功的避免了Cookie注入攻击。也可以使用参数化查询来防护二次注入攻击,请参考之前的项目自行实现。保存后重复6-2-2节的攻击步骤,按照图68所示修改并保存Value的内容,然后刷新页面,结果如图6-11所示。010203防护实现为避免修改保存Cookie生成多条Cookie对项目测试结果造成影响,在CookieManager标签页刷新以显示本页面所有的Cookie
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 强化训练苏科版八年级物理上册《声现象》专项练习试题(详解版)
- 消防设施监控操作员中级复习测试卷含答案
- 婚孕检试题及答案
- 急救车管理相关知识考核试题及答案
- 机械制造技术题库含参考答案
- 安全生产标准化管理知识试题及答案
- 解析卷人教版八年级物理上册第5章透镜及其应用-透镜专项攻克试卷(含答案解析)
- 2025年枣庄市薛城舜耕实验学校教师招聘考试笔试试题(含答案)
- 2025年新《安全生产法》考试试题(含答案)
- 2025年江苏省安全员B本考试题库+解析附答案
- 2025-2026学年西师大版(2024)小学数学二年级上册(全册)教学设计(附教材目录P234)
- 2025昭通市盐津县公安局警务辅助人员招聘(14人)备考考试题库附答案解析
- 自动扶梯施工方案编制
- 2.2运动与相互作用(第2课时二力平衡)学案-八年级科学浙教版上册
- 第一单元第二课《表现形式》课件人教版初中美术七年级上册
- 人力资源法律顾问
- 一例甲状腺癌患者的护理查房 2
- 国开2025年《行政领导学》形考作业1-4答案
- 第8课《网络新世界》第一课时-统编版《道德与法治》四年级上册教学课件
- 具身智能在智能工厂生产流程中的应用可行性分析
- 餐饮连锁品牌营销推广策略案例分析
评论
0/150
提交评论