CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )

0x01 原理

1.Joomla是内容管理的网站程序,也就是CMS。漏洞原理是com_fields组件,对请求数据过滤不严谨,从而导致sql注入。这个就是有问题的代码,可以看出sql根本没有过滤,通过对list中的fullordering这个字段的精心构造,就可以完成sql攻击

CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )_第1张图片
2.追根溯源,网站程序Joomla的com_fields启动时,会调用display这个方法
CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )_第2张图片
3.display这个方法获取视图view,布局文件layout的信息,之后调用getModel和setModel方法,在setModel方法调用结束之后,会调用$view视图的display方法
CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )_第3张图片
4.追踪get方法,发现其会调用getState方法,就是刚才说的取出list的那个函数,这个函数会在请求发送之后读取fullordering这个没有被过滤的字段
CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )_第4张图片

0x02 POC验证

CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )_第5张图片

0x03 使用sqlmap进行攻击

1.使用-u参数测试一下
在这里插入图片描述CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )_第6张图片
2.爆库名
在这里插入图片描述
CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )_第7张图片
3.爆表名
在这里插入图片描述CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )_第8张图片

你可能感兴趣的:(web安全,PHP)