2、连接数据库

    程序分为两种连接数据库模式:

    第三课:Delphi代码审计—项目实战1 - 图1

    无论是本地模式,还是联网模式,都是读取,当前路径的 config.ini 配置文件:

    (导致敏感信息暴漏,可直连服务器)

    继续跟数据库连接:配合SQL Server数据库,直接带入,可以判断出为明文存储。

    第三课:Delphi代码审计—项目实战1 - 图2

    config.ini 配置如下:

    4、C/S 交互过程

    (可导致通信过程中抓取明文执行)

    第三课:Delphi代码审计—项目实战1 - 图3

    代入执行:(导致可拼接sql语句,查询任意语句或者执行命令)

    第三课:Delphi代码审计—项目实战1 - 图4

    部分语句其中如下:

    6、Client

    软件呈现如下:

    对应收货单位编号,以及收货单位名称。分别为:, receivecompany。闭合语句为:

    第三课:Delphi代码审计—项目实战1 - 图5

    • 构造读取远程桌面端口号:得到远程服务器端口号

    8、获取缓冲区内容

    copy 获取缓冲区内容: (导致可从服务器端构造代码)

    第三课:Delphi代码审计—项目实战1 - 图6

    copy 用法如下:

    当超出范围,会发生异常错误。实例中,从服务器数据库获取数据后进行 copy。

    软件登陆部分代码如下:(导致可自动化跑 loginid。)

    多次尝试错误处理如下:退出软件,并且重新开始计算。

    —By Micropoor