章节目录 第27章 揪住黑客!(1 / 2)

作品:《网游之外,说了怕吓到你!

[全本小说]:qbxs. N e t 一秒记住!

罗韬神色变得郑重了些。

打开源文件,把主工程文件导入自己的编译器,一行一行地查看源码。

林青玉轻手轻脚走进寝室,站在罗韬身后。

随着时间一点点地过去,她的一颗心渐渐下沉。

突然,罗韬身体向前探去,仔仔细细看了片刻,嘴里道:「发现一处问题。」

说话间移动滑鼠,将一行代码标为高亮。

林青玉连忙凑过去看,发现那行代码是——

台湾小説网→??????????.??????

fprintf(logfile,log_entry);

「这一行,存在格式化字符串漏洞。」

罗韬手指指着屏幕,对着林青玉解说起来。

「对方若是知道这个漏洞,就会发送一条特制的公开消息,其中嵌入大量的格式化符号——比如%x丶%n这些格式说明符。

%x可以从栈上读取数据,泄露内存信息。

%n可以向任意内存地址写入任意值。

因为,%n会将当前已输出的字符数写入对应地址。

攻击者利用这些,一步步地推移栈上的指针,最终覆盖函数返回地址,实现远程代码执行。」

林青玉虽然专业教人编程,却从未涉及安全领域,听了一个似懂非懂。

罗韬不想总是解决这类小问题,唯一办法就是教会对方。

所以,他表现出了极强耐心。

「当伺服器程序将攻击者的消息记录到日志时,日志函数没有对消息内容做任何过滤,直接将其作为格式字符串传递给fprintf函数。

攻击者通过那些格式化符号推移栈上的指针,最终用一个%n,将当前输出的字符数写入了程序全局偏移表中fprintf函数的入口地址,将其篡改为他预先布置的shellcode的起始地址。

此后伺服器再次调用fprintf时,实际执行的是攻击者的代码,从而以root权限为他开启了一个后门埠。

他通过这个后门修改了程序内存中标识用户权限的变量,使自己获得了最高权限。」

这一次,林青玉彻底听明白了,由衷地说了一声:「感谢解惑!」

然后摆了摆手:「你先处理漏洞,不用管我。」

罗韬点点头,却没有立即修补漏洞,而是先去追查入侵者的来源。

来而不往非礼也!

对方那麽狂,必须给他一点教训。

他登录伺服器,查看当前所有网络连接。

发现聊天室的进程里面,维护着四五十个来自外部的活跃连接。

其中一个的发包周期,恰好与黑客帐号的发言频率相对应。

他记下那个IP位址,然后打开一个命令行窗口。

「噼哩啪啦……」

罗韬双手十指在键盘上面飞舞,速度之快把林青玉都吓了一跳。

她很想问一句——「你现在在干什麽?」

看到罗韬那般专注,最终把话咽了回去。

罗韬这时写的,是个最简易的TCP埠扫描器。

原理简单得可怕:创建socket,用connect()去尝试连接目标IP的常用埠,能连上的就是开放的。

使用这个小工具,可以快速扫描目标开放的埠。

一分钟左右,代码写完。

编译丶运行,输入那个IP位址。

屏幕上面,开始滚过一行行结果——

21埠:开放

23埠:开放

80埠:开放

139埠:开放

445埠:开放

3389埠:开放

……

过了一阵,罗韬双目紧紧盯着屏幕,目光锁定在3389埠。

林青玉也不是全无见识,直接问出心中疑惑:「你想反攻对方?这很难吧?」

𝐐  🅑  𝐗  s .  n  e  t