帝国CMS写自定义SQL别直接拼用户参数,注入漏洞被人拖走整个用户表

9年前 (2017-10-25)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值27950
  • 级别管理员
  • 主题5590
  • 回复0
楼主

新手二开帝国CMS,写自定义列表的时候,直接把用户传入的参数拼进SQL语句,结果被注入漏洞拖了整个库的数据,其实帝国CMS二开写SQL,几个规范遵守了,就不会出问题。第一,所有外部传入的参数,比如列表页的id、搜索关键词,全部用系统自带的类型转换函数过滤,数字就转成int,字符串就转义,别直接拼进SQL;第二,别用select * 查所有字段,需要哪个字段就写哪个,不然慢查询,还浪费内存;第三,自定义查询别写在模板文件里,写到独立的接口文件里,不然模板被官方升级覆盖,你写的SQL直接丢;第四,别直接拼用户输入的搜索内容到where条件里,用系统自带的搜索函数,自动做转义,自己写的过滤容易漏。

我之前做地方资讯站,写搜索功能的时候,直接把用户输入的关键词拼进SQL,被人爬了整个用户表,之后所有外部参数全部用系统函数转义,再也没出现过注入漏洞。很多新手觉得帝国CMS二开就是写个SQL调用,根本不考虑注入,写的时候图省事,被人拖库了才后悔。花几分钟做参数转义,比数据库被清空后恢复数据省太多事。

本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.genmulu.cn/genmulu/3467.html

0
回帖

帝国CMS写自定义SQL别直接拼用户参数,注入漏洞被人拖走整个用户表 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息