ITPub博客

首页 > 数据库 > MySQL > 敏感帐号防DBA篡改设计

敏感帐号防DBA篡改设计

原创 MySQL 作者:壹頁書 时间:2016-06-02 21:29:51 0 删除 编辑
帐号余额表,里面一般都有明文的帐号余额.
如果应用程序没有针对性设计,则DBA可以随意篡改.

模拟帐号表.
create table user(
    userid bigint,
    balance int,
    checksum varchar(32)
);

模拟JAVA程序,这个加密的过程,是JAVA程序中处理的.
创建帐号,余额100元
set @userid:=99588;
set @balance:=100;
set @checksum=md5(DES_ENCRYPT(100,'key'));
insert into user values(@userid,@balance,@checksum);



假如DBA修改了帐号的余额,因为他不知道应用程序中加密的密钥,所以无法生成checksum信息.

mysql> update user set balance=10000 where userid=99588;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0

应用程序查询和修改时核对checksum,都会感知异常
因为JAVA用相同密钥加密,得出的checksum值,不一样了。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29254281/viewspace-2113133/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: MySQL异常处理
请登录后发表评论 登录
全部评论

注册时间:2013-10-19

  • 博文量
    620
  • 访问量
    6339946