• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Gtihub学习Micro8安全笔记(第三课)之Delphi代码审计--项目实战1

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本来想看一下那个第二课Linux提权的,可是文件可能被Micro大佬给被删掉了!!!

专注APT攻击与防御
https://micropoor.blogspot.com/

程序的主要function,与procedure
**注:**Delphi吧操作数据的方法分成了两种,一种是function,另一种是procedure,大致理解为“函数”,“过程”。
Procedure类似于C语言中的无返回值函数,即VOID,而function就是C语言中的有返回值函数,即没有VOID。

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

无论是本地模式,还是联网模式,都是读取本地的config.ini配置文件:
(可导致敏感信息泄露,可直连服务器)

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

config.ini配置如下:

基于TCP通信,SQL Server通信架构大致如下。(可导致通信过程中抓取明文执行)

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


部分语句其中如下:
select distinct memberid,receivecompany from weigh where receivecompany is not null and receivecompany like " %’ +xxxxxx+ '%"

软件呈现如下

对应 收货单位编号,以及收货单位名称。分别为:memberid,receivecompany
闭合语句为:
2’ ; select loginid as memberid,password as receivecompany from sysuser –


构造读取远程桌面端口号:
得到远程服务器端口号
2’ ; EXEC master…xp_regread
‘HKEY_LOCAL_MACHINE’,‘SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp’,‘PortNumber’–

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

copy 用法如下:
copy(a,b,c);
a:就是copy源,就是一个字符串,表示你将要从a里copy一些东西,
b:从a中的第b位开始copy(包含第11位),
c:copy从第b位开始后的c个字符,
exp:m:=‘the test fuck’
s:= copy(m,2,2);//s值为 ‘he’

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

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

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

tql,大佬的知识量好像对我来说理解有点小困难emmmm~~~


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB常用数据类型的转换发布时间:2022-07-18
下一篇:
MATLAB中的数据写入函数dlmwrite发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap