某shop后台sql注入漏洞
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,前言最近看了下tpshop,审计出几个鸡肋的漏洞,这个SQL注入漏洞是其中之一。然后审计完网上搜了一下发现有一堆后台的sql注入漏洞,应该是觉得后台的SQL不用修叭(我个人是可以理解的)。漏洞触发点首
千家信息网最后更新 2025年01月31日某shop后台sql注入漏洞
前言
最近看了下tpshop,审计出几个鸡肋的漏洞,这个SQL注入漏洞是其中之一。然后审计完网上搜了一下发现有一堆后台的sql注入漏洞,应该是觉得后台的SQL不用修叭(我个人是可以理解的)。
漏洞触发点
首先要登录后台,这也是我说漏洞很鸡肋的原因。
漏洞位于在后台的商城-》文章->文章列表处的搜索
抓包,存在漏洞的参数是keywords,当输入payload' or length(database())=10)#
时,页面返回文章数0,
而当输入payload' or length(database())=9)#
时,页面返回为共33篇文章(总共33篇,数据库名是tpshop2.0)
因此可以通过布尔注入来获取数据库信息,当然延时也可以,只不过我自己是能不用延时就不用延时的人。
漏洞成因,分析下代码
分析下代码,原因很简单,where直接拼接了。并且会将查询到的结果返回到页面中。application/admin/controller/Article.php:56
$keywords = trim(I('keywords')); $keywords && $where.=" and title like '%$keywords%' "; $cat_id = I('cat_id',0); $cat_id && $where.=" and cat_id = $cat_id "; $res = $Article->where($where)->order('article_id desc')->page("$p,$size")->select(); $count = $Article->where($where)->count();// 查询满足要求的总记录数 $pager = new Page($count,$size);// 实例化分页类 传入总记录数和每页显示的记录数 //$page = $pager->show();//分页显示输出 $ArticleCat = new ArticleCatLogic(); $cats = $ArticleCat->article_cat_list(0,0,false); if($res){ foreach ($res as $val){ $val['category'] = $cats[$val['cat_id']]['cat_name']; $val['add_time'] = date('Y-m-d H:i:s',$val['add_time']); $list[] = $val; } } $this->assign('cats',$cats); $this->assign('cat_id',$cat_id); $this->assign('list',$list);// 赋值数据集 $this->assign('pager',$pager);// 赋值分页输出 return $this->fetch('articleList');
最后执行的sql语句为:
其他
我在用payload的时候用的是=,是因为输入做了过滤,会转义> <,用大于号不能直接执行sql,会报错。
漏洞
后台
不用
数据
文章
页面
输入
代码
原因
数据库
鸡肋
分析
审计
查询
输出
个人
信息
前言
参数
只不过
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
围绕网络安全谈认识体会心得
网络安全教育歌手势舞
诡沧星的数据库试题
光大银行软件开发
网络安全技术应用专业课程
天津眼球网络技术
文科女生学计算机网络技术
win设置连接数据库
苏州互联网软件开发定制费用
mysql数据库结构示意图
后浪正创网络技术有限公司
食虫植物名称数据库
网络技术做实验的软件叫什么
澳洲最好的网络安全专业
雷雳网络安全教育
marco 服务器
软件开发类的专利
互联网新科技公司的统称
河北森盛网络技术有限公司
维护网络安全打造安全的产业生态
java增删查改数据库
异速联服务器安全设置
网络安全基金行情
软件开发部门kpi
rman 备份数据库
局域网电脑不能访问服务器数据库
产品助理跟软件开发
济南微信软件开发中心
marco 服务器
数据库家庭住址怎么表示