私域电商软件及相关增值服务提供商    

免费试用
HiShop友数连锁 公众号/小程序商城/线上线下一体化快速搭建

为连锁生鲜/便利店/商超零售企业提供线上线下一体化门店管理方案,助力商家实现数字化的转型

智慧收银 线上云店 进销存管理 会员营销 智慧导购 裂变增长 直营加盟管理 数据同步
注册开通

如何登录进销存系统?讲解SQL注入进销存系统登录

作者:邓文君 来源:网络 时间: 2025-06-15 18:40:44 阅读量:

  最新消息报道,如何登录进销存系统?登录进销存系统的方式有很多种,下面小编为大家介绍一种用技术的手段登录进销存系统,SQL注入进行登录。

如何登录进销存系统?讲解SQL注入进销存系统登录

  关于“进销存”系统的登录方法——利用SQL注入进行登录

  “进销存”系统的登录存在着SQL注入的漏洞,利用这个漏洞可以绕过用户名和密码的判断,从而进入“进销存”系统。下面,对于这个漏洞进行具体的说明。

  (注:由于系统源代码可见,于是可以直接通过代码来分析SQL注入,因此不在这里进行源代码语句漏洞试探。)

  1、首先打开登录页面,找到源代码地址。

  图1——登录页面的源代码地址

  2、打开源代码,找到有关登录语句验证的代码,代码如下(重要部分已给出注释):

  3、由代码中可以看到,关键的登录判断语句为:

  sql="select * from login where(username=' "&nowusername&" ' and pwd=' "&md5(nowpwd)&"') or (bianhao=' "&nowusername&" ' and pwd=' "&md5(nowpwd)&"')"

  这段语句会判断login表中是否存在输入的用户名和密码,或者用户编号和密码。

  下面,提出sql语句进行具体分析:

  SQL语句1:

  select * from login where (username=' "&nowusername&"' and pwd=' "&md5(nowpwd)&" ') or (bianhao=' "&nowusername&"' and pwd=' "&md5(nowpwd)&" ')

  可见,where条件有两大部分,用or进行连接(形式为:select * from login where条件1 or条件2)。因此,or后面的语句是否为真不重要,只要前面(条件1)为真即可。

  再拿出前面的(条件1)语句进行分析:

  SQL语句2:

  username=' "&nowusername&" ' and pwd=' "&md5(nowpwd)&"'

  由这段代码中可以看到,此部分又分为两个条件判断,用and进行连接(形式为:条件1and条件2)。

  4、进行SQL注入分析

  由上面的登录代码分析可见,如果SQL语句2为真,那么SQL语句1也为真。现在的问题是如何让SQL语句2恒为真。

  现在SQL语句2的形式为:条件1 and条件2,根据SQL语句1的提示,可以看出,如果SQL语句2形式变成:条件1or条件3 or条件4and条件2,那么可见,即使条件2不为真,如果条件1或者条件3有一个为真,那么SQL语句2就为真。

  因此,目的就是要添加or条件3 or条件4到语句中,使SQL语句2恒为真。

  5、SQL注入语句构造

  username=’ “&nowusername&” ‘ and pwd=’ “&md5(nowpwd)&”‘

  由前面代码分析看出,如果输入登录名为admin,密码为12345,运行时,此段代码被编译为:

  username=’ admin ‘ and pwd=’ admin ‘

  通过编译后的代码与后台数据库进行数据对比,判断是否存在该用户。

  可见,输入的内容首先将被替换为相应的sql语句内容,再进行sql语句的执行。

  先假设一下,如果运行时,代码被编译为:

  username=’ admin ‘or 1=1 or 1=1andpwd=’ admin ‘

  形式为:条件1or条件3 or条件4and条件2,可见条件3恒成立,因此不论条件1和条件2是否为真,此段代码恒为真。

  再把源代码拿出来进行对比:

  预想结果:username=’ admin ’or 1=1 or 1=1and pwd=’admin ‘

  相关代码:username=’“&nowusername&”’ and pwd=’ “&md5(nowpwd)&”‘

  代码中标红的内容是用户输入的内容,需要注意的是,在标红的内容后面有一个’对应着前面的’。

  如果输入的内容为:admin’ or 1=1 or 1=1

  代入到标红内容,代码为:

  username=’admin’ or 1=1 or 1=1’ andpwd=’ “&md5(nowpwd)&” ‘

  可见,username=’ admin’为条件1,1=1为条件2,pwd=’ “&md5(nowpwd)&” ‘为条件3,但是需要注意的是1=1后面有一个“’”,是源代码中存在的,如果在输入的时候,输入了一个“’”,那么源代码中的“’”将缺少对应。

  SQL语句3:

  username=’admin’or 1=1 or 1=1’and pwd=’“&md5(nowpwd)&”‘

  可见,如果输入内容为:admin’ or 1=1,将导致内容替换代码后,“’”会缺少一个对应。原因就是我们在输入的时候输入了一个“’”。因此,为了让“’”不缺少对应,我们在输入的时候再输入一个“’”。

  输入内容为:admin’ or 1=1’

  这时,再代入到相应代码中,编译后的代码为:

  源代码:username=’“&nowusername&”’ and pwd=’ “&md5(nowpwd)&”‘

  代入后:username=’admin’ or 1=1 or 1=1 ’ ’ and pwd=’ “&md5(nowpwd)&” ‘

  可见,这回“’”已经不缺少对应了:

  SQL语句4:

  username=’admin’or 1=1 or 1=1’’and pwd=’“&md5(nowpwd)&”‘

  形式为:条件1 or条件2or条件3and条件4

  这时,又出现了一个问题,条件3为:1=1’ ’,这不是正确的条件语句,还要修改一下,改为:

  SQL语句5:

  username=’admin’or 1=1or1=1’’and pwd=’“&md5(nowpwd)&”‘

  删除1=1使形式改变为我们需要的:

  条件1 or条件2or条件3 and条件4

  可见,条件2为:1=1,恒为真,条件3为:’’,是一个不进行判断的空条件。

  因此,SQL语句5因为有条件2恒为真,所以SQL语句5恒为真。

  6、总结分析

  SQL注入的目的是让SQL语句1恒成立。

  SQL语句1:

  select * from login where (username=' "&nowusername&"' and pwd=' "&md5(nowpwd)&" ') or (bianhao=' "&nowusername&"' and pwd=' "&md5(nowpwd)&" ')

  如果其中的username=' "&nowusername&"' and pwd=' "&md5(nowpwd)&" '恒成立,那么SQL语句1即恒成立。

  语句中的username='"&nowusername&"' and pwd=' "&md5(nowpwd)&"'标红部分是用户输入的内容。现在输入内容:

  ’ or 1=1 or ‘

  替换后为:

  username=‘’ or 1=1 or ‘’ and pwd=' "&md5(nowpwd)&"'

  此语句变为恒成立。

  (还可以看出来,如果输入helloworld’ or 1=1 or ‘,系统一样可以登录,原因就是前面输入的都是条件1的内容,无所谓真假,因为1=1的条件恒为真。)

  7、测试结果:

  登录名为:’ or 1=1 or ‘

  密码不为空

  图2——SQL注入

  点击登录,登录成功。

  8、查看登录日志:

  登录日志

  可见,使用SQL注入成功登录后的用户标识为“-1”,登录日志页面的登录用户调用的是rizi表中的username字段,为什么会是“-1”,原因留给大家去思考。

  HiShop友数进销存系统,为了对企业生产经营中进货、出货、批发销售、付款等进行全程进行跟踪,管理,而设计的整套方案。

更多连锁门店行业案例
  • 老板电器

    家电行业

  • 国洋酒业

    酒水行业

  • 中海名酒

    酒水行业

  • 义乌小商品城

    商超行业

  • 奥龙世博

    商超行业

  • 北京天坛

    装修行业

满足连锁门店多种业务场景
  • 连锁线下收银

    专注经营线下门店

    免费体验 >
    门店管理
    进销存管理
    收银系统
    会员管理
    赋能提效
    收银硬件
  • 连锁线上线下

    线上线下数据同步经营

    免费体验 >
    门店管理
    进销存管理
    收银开单
    云店小程序
    智慧导购
    数据同步
  • 连锁线上云店

    多门店线上云店拓客

    免费体验 >
    门店管理
    云店小程序
    分销裂变
    会员管理
    导购赋能
    数字营销
  • 连锁美业预约

    分时预约,提升门店服务

    免费体验 >
    预约到店
    在线预约
    排班管理
    引流拓客
    卡项营销
    开单挂单

【本站声明】

1、本网站发布的该篇文章,目的在于分享电商知识及传递、交流相关电商信息,以便您学习或了解电商知识,请您不要用于其他用途;

2、该篇文章中所涉及的商标、标识的商品/服务并非来源于本网站,更非本网站提供,与本网站无关,系他人的商品或服务,本网站对于该类商标、
     标识不拥有任何权利;

3、本网站不对该篇文章中所涉及的商标、标识的商品/服务作任何明示或暗示的保证或担保;

4、本网站不对文章中所涉及的内容真实性、准确性、可靠性负责,仅系客观性描述,如您需要了解该类商品/服务详细的资讯,请您直接与该类商
     品/服务的提供者联系。

热门产品

智慧新零售门店管理系统

连接人、货、场,构建新零售闭环

去看看
连锁收银管理系统

一站式门店收银,解决管理难题

去看看
热门场景
收银系统
门店管理
库存管理
分销裂变
收银开单
门店小程序
新零售
加盟管理
会员储值
裂变拓客
门店私域
代客下单
卡项营销
美业店务
会员促活
分时预约
收银硬件
线上线下
商品通
会员通
订单通
营销通
门店会员管理系统

搞定全生命周期会员精准营销

去看看

更多连锁业态

连锁便利店生鲜超市 连锁零食店 连锁家电店 生活商超连锁酒水店 连锁医药店零售专卖店

电话咨询 微信咨询 - 预约演示