我有一个我知道用C语言编写的Web应用程序,它运行在指定的IP地址和端口上。我可以使用telnet
或nc
访问该应用程序。对于每一个,一旦连接我提示输入。
由于我已经获得了二进制文件的副本,因此通过strings
和hd
运行它会向我显示应用程序正在查找要验证的特定字符串。
我想访问该域名的文件,我似乎无法使用telnet
或nc
,所以我在思考这里cURL
或ftp
是更好的选择。
但是,由于此正在运行的服务发生的字符串验证不是真正的密码,因此我不确定如何将此字符串值传递到具有cURL
或{{1的服务}}。我的直觉告诉我,我可能需要将命令构造为ftp
,但由于这绝对不是POST
服务,我不知道如何继续。
有什么想法吗?
答案 0 :(得分:1)
(不是答案,但作为评论发布的时间太长)
在处理未记录的自定义协议时,telnet / curl / wget绝对不合适,而且nc不实用。写自己的客户。
你说服务器期待一个字符串?好吧,也许你可以对它进行字典攻击,让一个客户端尝试大字典中的所有内容(如this?),寻找任何非标准的响应,并从那里开始。添加你在二进制文件中找到的任何字符串,ofc
如果这无处可去,那么二进制文件是否容易受到计时攻击?也许你可以通过定时攻击提取它正在寻找的字符串
并且因为你已经拥有二进制文件,你可以通过反汇编程序运行它并研究汇编代码,它应该揭示它的定时攻击是否易受攻击,如果字符串是硬编码的,它看起来是什么字符串虽然,阅读编译的汇编代码真的很难..(游戏破解者一直这样做,以破解视频游戏复制保护)