Ruby On Rails find_by_* SQL Injection (CVE-2012-6496)
 详情分析链接在此:http://blog.phusion.nl/2013/01/03/rails-sql-injection-vulnerability-hold-your-horses-here-are-the-facts/
RoR,著名的Web开发框架,众所周知的Github,javaeye,csdn部分站点都是使用这个框架开发的。注意这个漏洞是出现在框架的Active Record模式操作数据库模块中的,因此是全框架都中招。
主要攻击模式是,当程序中用到User.find_by_something(params[:id])这种模式的代码时(实际上所有数据库查询操作基本都是这模式的),如果使用类似的代码就会产生注入:
User.find_by_name("kotori", :select => "id, name FROM users; DROP TABLE users; --")
而这个:select是可以和前面的字符串通过一个字典传入的。因此这个就变得可利用了。
但是利用场景很有限,由于需要你带入的字典key也就是:select必须是symbol格式的,而不像是PHP之类都是string。所以必须要找个有序列化字符串可以注入,且反序列化后有被find_by_xxx查询的场景(具体可以看文中给出的EXP链接。思路很yd,我很喜欢。利用的是RoR session会有这个过程。)。因为只有这样,你注入的代码才能被Ruby解释为他的Object,然后才能把你的string的key变成symbol的。
所以,虽然这个漏洞贴出来的时候名头很大,全版本RoR收到影响,但实际上,估计也就开源程序可以被找到类似的苛刻场景吧。
和php unserialize漏洞有异曲同工之妙,不是么?  
                    
 
					
 
									![Connectify Dispatch指定程序使用指定网卡[运维神器]](http://www.vuln.cn/wp-content/uploads/2016/11/1.jpg) 
									![网站备案流程_网站备案需要什么[简单明了解决备案各种问题]](http://www.vuln.cn/wp-content/uploads/2014/03/topleft.gif) 
									![最新BurpSuite 1.7.32 破解版[注册机]下载【无后门版】](http://www.vuln.cn/wp-content/uploads/2018/02/ee462f76d3e2440f67041f92499c36ae.png) 
									![php一句话后门的几种变形分析[preg_replace函数]](http://www.vuln.cn/wp-content/uploads/2016/11/11.jpg) 
									![在线子域名、C段查询[5.9更新]](http://www.vuln.cn/wp-content/uploads/2017/11/ffed019b110ce9ed330d33a662af9b98.png) 
									 
									 
									 
									![[网盘下载] GB/T 23031. 1 — 2022 工业互联网平台 应用实施指南 第一部分:总则.pdf](http://www.vuln.cn/wp-content/uploads/2023/02/3faee12ec28ab59793fbe1c203b8363f.png) 
									![[网盘下载] GB/T 41870-2022 工业互联网平台 企业应用水平与绩效评价.pdf](http://www.vuln.cn/wp-content/uploads/2023/02/4ec246e126c4f3a41d9ced588c790998.png) 
									![[网盘下载] GB/T 36323-2018 信息安全技术 工业控制系统安全管理基本要求.pdf](http://www.vuln.cn/wp-content/uploads/2023/02/f6adb0f6fa49a734846c5873d178bfbc.png) 
									![[网盘下载] GB/T 32919 -2016 信息安全技术 工业控制系统安全控制应用指南.pdf](http://www.vuln.cn/wp-content/uploads/2023/02/da9420e72b7af6bfb4fa273884dcefc1.png) 
									 
									 
	 云悉指纹
云悉指纹