西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页西西教程数据库教程 → 解决SAP B1用户名称修改的问题

解决SAP B1用户名称修改的问题

相关软件相关文章发表评论 来源:西西整理时间:2011/12/17 1:21:10字体大小:A-A+

作者:西西点击:177次评论:0次标签: SAP

  • 类型:文件处理大小:209KB语言:中文 评分:7.0
  • 标签:
立即下载
帮妹子解决一个SAP B1的问题,这个问题是:SAP B1里面有一个公司的数据,这个公司里面有一个用户,如何修改这个用户的名称。。。我已经可以猜到这个到底是要干啥了。

之前没有接触过SAP B1,所以找下载就耗了一点时间,ftp2.sjtu上面只有miniSAP 6.1,太老了,仅次于她们在用的SAP Business One 2005b(中文版7.0)。这个资源貌似网上很难找,最后总算在一个网盘(趣盘)上找到一个。后来我在找参考书籍的时候,意外发现某本书附带的光盘中竟然有一个preloaded version(所谓的预览版),不过功能受限。感谢图书馆的光盘镜像检索系统。

妹子给的是一个64.8MB的没有后缀的备份文件,不知道这个是怎么备份和恢复的,又不好意思去问,只能自己琢磨。在SAP B1中找备份和恢复的功能,觉得不太像。然后尝试用二进制编辑器打开,希望看出点端倪,又是无功而返。

折腾SAP B1的过程中倒是对这个东西有了点了解,这个东西后端存储全靠数据库,前端就是一个壳。安装以后后端SQL Server 2000中多出来的SBO-COMMONS与SBODemo_China两个数据库,分别是SBO全局配置信息与“北京海城电子公司”的信息。

然后就可以很自然地猜到这个文件可能是数据库的一个备份,数据库备份要么备份为SQL文件,要么是私有的二进制格式。测试一下吧,把SBODemo_China备份为一个文件,备份完成的时候我已经知道我猜对了,因为文件大小基本一致。二进制打开,文件头的magic number是TAPE,与原文件一致,猜测基本正确。

然后随便新建一个数据库,恢复备份数据,表结构等与SBODemo_China一致,猜测得到验证。

剩下的问题是如何建立某个公司与这个数据库的联系。直接的猜测是(公司,数据库名)的关系应该是存储在SBO-COMMONS数据库中的,这个库中的表不多,一个个看过去吧。很容易地找到了是存在dbo.SRGC表中。从这些表名的杂乱无章来看,很明显是做过混淆处理的。

这里新建一个(或者修改现有的),就可以从SBO中登录这个公司了,数据库则是恢复的这个数据库。

知道了这个对应关系在哪里管理,就可以各种操作了,比如可以把一个公司的数据倒腾到另一个公司内,只要在两个数据库之间倒腾就行了。

倒腾数据的方法很多,SQL Server自带的“企业管理器”就有数据的导入导出功能,或者可以把一个数据库备份为一个文件(二进制或者sql)然后恢复到另一个数据库中。

下一个问题是修改用户名,可以猜测到的是,既然一个公司的所有信息都存储在这个公司的数据库中,用户信息肯定也是存在某个地方的。继续从SBODemo_China下手吧,展开数据库以后我傻眼了,960个表,表名同样做过混淆处理,没办法像SBO-COMMONS那样一个个检查了。

后来想到的办法是查看SBODemo_China的日志,活该倒闭的微软(嗯,我这么说我前准东家是不是不太厚道。。),ldf文件格式是封闭的。google了一个third party的工具,惨不忍睹。

然后尝试一下新版的sql server是否可以提供类似功能,用的是SQL Server 2008 R2 Express,依然无功而返。顺便记录一下,Management Studio连接的时候,服务器要填入(local)\SQLEXPRESS,即需要同时指定host和sql instance。

再次google,找到SQL Server的一条undocumented的命令,dbcc。吐槽一下,undocumented意味着微软不需要为这些命令提供支持服务,而且可以随便折腾这些命令,包括随时在下一个版本中移除。

语法是 dbcc log (SBODemo_China, 3),第一个参数是db-name,第二个是info-level,更多dbcc功能请google。

然后,打开SBO,随便用一个用户登录,登录的过程SBO总归要来数据库保存用户的表里面看看么,果然,log的最后几条是access名为dbo.OUSR表的。看到名字就知道找到了。

这个表里的字段名倒是没有做混淆,和之前一样。从字段名和现有的用户信息,很容易就能搞明白各个字段是什么意思。修改用户名么,就直接在这里修改就好了,USER_CODE是登录用户名,U_NAME是显示用户名。

到此为止目的已经达到了,不过看到旁边的PASSWORD字段,咱还是按捺不住折腾一下的心思。PASSWORD字段之后,竟然还有PASSWORD1、PASSWORD2。。也许是历史设计的遗迹吧。SBO内修改密码,这里的值就变掉了,到底是怎么一个对应关系,眼睛看是看不出来的,可能要对SBO的主程序做一下逆向,看看passphrase是如何变换得到这里的密钥串的。这个过程是有标准的(可以参见之前的博文),如PKCS#5。但说实话本人对IT从业者的安全意识与安全能力并不抱太大希望。之前CSDN被暴库,用户密码都是明文保存的;还有之前看到QQ某款产品在产品介绍中声称自己保存的密码是经过MD5“加密”的,一声叹息。

虽然不反向工程就不知道这个变换过程,而且即使是知道了可能也无法破解某用户的密码(例如变换过程某一步使用了cryptographic hash function, 如SHA-1),仍然可以注意到SBO保存的这个(变换过的)密码是仅与用户的passphrase相关的(废话,当然是了),那么,substitution attack(某种意义上的replay attack),就可以替换掉某个用户的密码了。

实际应用中,SBO的这种设计不会引入太大的安全隐患(要修改sbo.OSUR,还不如直接修改想修改的其他库),但仍然可能会在某些场合下会带来问题。比如:某个公司的ERP系统使用的是SBO,但是数据库没有良好防范,攻击者攻破db server以后,就可以修改某用户的密码,然后使用该用户账户登陆,进行各种破坏性操作,然后恢复密码并打扫现场(主要是清理sql server日志)。这种精确打击的陷害,是非常具有杀伤力的。相对于直接修改数据库,这种攻击的好处是可以进行“语义”的修改,即具有SBO意义的修改,譬如修改某个产品的库存。如果想要直接通过数据库修改达到目的,需要先逆向得到库存是如何保存在数据库中的,这样工作量太大。

记录完了再吐槽一下我自个儿,你因为这个妹子心情大起大落,时而忧郁时而狂喜,倒腾这个东西两天,真能赢她一顾么。你迷恋的流转的眼神,可曾有某个瞬间为你停留。岂不闻佛家有言,有求皆苦,无求乃乐。
    hosts修复软件
    (60)hosts修复软件
    文件是计算机中一个举足轻重的文件,该文件有一个比较大的特点就是没有扩展名。经常在一些电脑个性技巧以及其他领域方面会用到,西西提供文件修复工具软件下载大全。官方介绍是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的地址建立一个关联数据库,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从文件中寻找对应的地址,一旦找到系统会立即打开对应网页,如果没有找...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)