piwigov2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

十多年的弋阳网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整弋阳建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“弋阳网站设计”,“弋阳网站推广”以来,每个客户项目都认真落实执行。

0x0 项目介绍

项目地址:https://github.com/Piwigo/Piwigo

项目介绍:piwigo是用于网络的开源照相馆软件。 专为组织,团队和个人管理您的照片库而设计。

官网地址:piwigo.org

0x1 准备工作

Linux下下载https://github.com/Piwigo/Piwigo/archive/2.9.5.zip解压、赋权、进入目录后使用docker安装:

docker run -d --name piwigo_MySQL -e MYSQL_DATABASE=piwigo -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run -d -p 3000:80 -v $(pwd)/:/var/www/html/ --link piwigo_mysql:mysql --name piwigo nimmis/apache-php5

即可看到启动界面

0x2 审计

一 admin/group_perm.php中selection和parent参数存在的注入:

selection值未经验证进入到move_categories函数中

piwigo v2.9.5的5个sql注入分别是怎样的

追踪move_categories函数可以看到函数把该值分解后直接接入到sql语句中

piwigo v2.9.5的5个sql注入分别是怎样的

测试下即可发现漏洞存在

piwigo v2.9.5的5个sql注入分别是怎样的piwigo v2.9.5的5个sql注入分别是怎样的

二 admin/group_list.php中group_selection参数存在的sql注入:

图中可以看到group_selection值被放入到$groups中,selectAction值被放入到$action里

piwigo v2.9.5的5个sql注入分别是怎样的

代码中$action对应多个动作,但是在多个动作里$group都被直接粘结到sql语句中,这儿我举delete方法看下:

piwigo v2.9.5的5个sql注入分别是怎样的

这儿很直观看到被放进了sql语句中,试验下

piwigo v2.9.5的5个sql注入分别是怎样的

三 admin/user_perm.php中cat_false参数存在的sql注入:

图中可以看到cat_false被放入到函数中,

piwigo v2.9.5的5个sql注入分别是怎样的

我们追踪下这个函数,在admin/include/functions.php中找到函数,$cat_false值变为$category经过判断是否是数组判断数量后被放入get_uppercat_ids函数中处理,

piwigo v2.9.5的5个sql注入分别是怎样的

继续追踪get_uppercat_ids函数,上述存在漏洞的参数变为$cat_ids,图中可以看到该$cat_ids经过简单判断被放入sql语句并开始查询,

piwigo v2.9.5的5个sql注入分别是怎样的

这种漏洞函数跳转比较多,且没有明显的看到回显地方,这种场合特别适合时间注入,我们使用

1 and if(ascii(substr(database(),1,1))>97,1,sleep(5))验证可以发现网页打开时间延迟,证明漏洞存在,使用sqlmap跑一波

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

四 admin/group_perm.php存在的sql漏洞:

这个漏洞跟上面三种admin/user_perm.php漏洞相同,调用的同一个函数,只是用户和组的区别,看张入口图意思一下:

piwigo v2.9.5的5个sql注入分别是怎样的

sqlmap跑一下

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

五 admin/batch_manager.php中filter_category参数存在的注入:我们看具体代码:

当post包中存在'filter_category_use'键时将'filter_category'值给xx['category']

piwigo v2.9.5的5个sql注入分别是怎样的

往下走,找到xx['category']被调用的地方,可以看到该值未被过滤直接被放到sql语句中。

需要注意的是这个请求链接在网页中并未找到,需要手工在post包添加filter_category_use=on&filter_category=1

piwigo v2.9.5的5个sql注入分别是怎样的

sqlmap跑一下

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


网页标题:piwigov2.9.5的5个sql注入分别是怎样的
网站URL:http://ybzwz.com/article/pejopj.html