以下是我在访问日志中看到的一些奇怪代码示例。任何人都可以解码吗?
例如:
\xb3\xe1\xdd=H\t\xd5\xd2\xf0ml\xf1\x10\xee/\xa0$\xeaY\xa5\xe7\x81d \xd5\x1f\xd9 QI\xd9\'\xfb4I\xb8\xf3\x1d0:\xb5i\x18Q\x02\xa5\x10$\xdd\xcf\xfa\xc2\xfa\x15\xd0\xa8\xa5\xfc\xb2\xda\xb9\x9bA_\x89\xc4~\x0e\x0ebg*>\x18\x12\x9aniA\xf6\xfc\x85%]\x1d\xa6\x16\xfe\x96\x13\xe1\xd8\xb2\xf3i~\xde\xec6\xdbgW\xc3c\xac2\x7f\x9f&\xa5\xce\x14B8~8\xbe\xff1\xa8\xe6\x9a\x9d\xf7 \x14\x10\x9d\xce\xda\x06\x93r\xe7\x86\x98\xa1\x85^\xfa\x93\xf1\x94G\x95\xc0\x1b\xc9\x81\xcb<\x04/\x836E\x85\xbd\xae%\x07D\xe9j\x80\x7f=\xccWW\x04.\xbe\x0f\xb6\x8c
现在,如果我们遗漏了所有不可读的字符:
=H\tml/$Yd QI'4I0:iQ$A_~bg*>niA%]i~6gWc2&B8~81 r^G</6E%Dj=WW.
开头的“H \ tml”部分可能表明上面的代码包含一些HTML代码,或者它可能只是巧合?
以下是一些样本:
\xbdl\x1cq\x1e\xf65\xe3@3\xd8E\xa8\xf7\xc0e\x10\xfe\x15\xbfzhap\xff\xe6i\x9cq\xe3bGm\x81DWQ\xf5\x94\xbav~\\\xaa\xd0\xed\xdfl\x028\x1d\xcds\x07H\x02\x04\xf2\x8fU\xe0\xd6x,\x9f\x98)\xe8\x1c \xc7\xdd\xd7\xea\xd0\x12h^\xb4\xd0\x85G\xdb\xe4 \xe6\xabYM\xf36\"<\xb6\x1e\xeak]\x93\xc2D\xfa\xc4\xe9\xa93,b\xf5\x80\x15\x92L5\x02\xc3GY\xa7k\x7f\xa2\xfd}\xa2%+\x14\xf5\xe8\x95\x1f\xe2\xef\xd41
st|]%Y\xbf\xeaj\xe9<z\xbb\xfb\xe76\xbbf>\xe9\x1dU{\xaf\x97\x1b\x9e\xf3&\x9b\x87t{\xf3O0\x8c`TQ\xdc\xbd.\xee\xff\x9cEG\xabU\xc5 \xfc[\xe0\x0f\xa5jK\x85\x92\xb2\x90\x96E\xba\x9c\x9c\xa5\xccA`\v\xa0\xd7>3\t\x89u\x11\x817\xa5\xb2\x83\xfa\x89A\x14\x07\xe1\xc4>\"\xb4\x02m\xe4\x9eZ\x9b>\xb0\xe5\x9c\x15\xa0p\xado:\xb4\x1d\x1a\xb7\xb1\x1c\x0f\xa3\xadz-\xdc\xb5q\xb9\xfc\xb95g\xb8\xa8 \xd2t\xa3\x90\xe7N\xa7e \x15I\xe6\x1b\xdbNB5\xfa3\xed\xfdG\t\x19(\xe1\x9f
wo\x01\xb9\x98\xa6q.\x0c&\xba\x1dnXN\xce\xb7\xd3\x99\xfd\x12>*\xa5\x89\xc9\xb2 lQ\x89\xcc\x9f\x113+\xb5\xc4\x86\xb6g\x97\x15]\x98g\xc1\xa1\xa8\xfeK\x03\xb5w\xe4\xf8&\xc8`1\x8c\x1c\x88\x82\xc2]\x8d&\xbc\x8cU&4\xc5[jS \xb0\xed\xf7m{\x95i
\xbdl\x1cq\x1e\xf65\xe3@3\xd8E\xa8\xf7\xc0e\x10\xfe\x15\xbfzhap\xff\xe6i\x9cq\xe3bGm\x81DWQ\xf5\x94\xbav~\\\xaa\xd0\xed\xdfl\x028\x1d\xcds\x07H\x02\x04\xf2\x8fU\xe0\xd6x,\x9f\x98)\xe8\x1c \xc7\xdd\xd7\xea\xd0\x12h^\xb4\xd0\x85G\xdb\xe4 \xe6\xabYM\xf36\"<\xb6\x1e\xeak]\x93\xc2D\xfa\xc4\xe9\xa93,b\xf5\x80\x15\x92L5\x02\xc3GY\xa7k\x7f\xa2\xfd}\xa2%+\x14\xf5\xe8\x95\x1f\xe2\xef\xd41
我们经常在日志中看到这样的代码。像一天数百万次。让我对它的内容非常好奇:))
(更多)代码也可通过http://pastebin.com/ZcXM5NHs
获取答案 0 :(得分:6)
这绝对是要利用服务器中假设的缓冲区溢出漏洞。我想这是X86代码。您可以在php中解码它们,例如:
<?php echo("\xbdl\x1cq\x1e\xf65\xe3@3...");
如果将输出放到文件中,可以在反汇编程序中打开它,然后查看汇编程序的内容。虽然我认为你不会通过查看它们获得任何有价值的信息。
这些是扫描攻击,有人有机会明确攻击你的服务器。
答案 1 :(得分:3)
这用于解码回二进制。 (注意:反斜杠转义列表可能不完整。我只是输入了通常的嫌疑人)
#include <stdio.h>
#include <string.h>
int main(void)
{
char buff[2000] ;
size_t len, pos;
int ch;
unsigned val;
while (fgets(buff, sizeof buff, stdin)) {
len = strlen(buff);
while (len && buff[len-1] == '\n') buff[--len] = 0;
for(pos=0; pos < len; pos++) {
ch = buff[pos];
if (ch != '\\') { putc( ch, stdout; continue; }
switch ( ch = buff[++pos] ) {
case '\\':
case '\'':
case '"': putc(ch,stdout); break;
case 't': putc('\t',stdout); break;
case 'n': putc('\n',stdout); break;
case 'r': putc('\r',stdout); break;
case 'a': putc('\a',stdout); break;
case 'v': putc('\v',stdout); break;
case 'b': putc('\b',stdout); break;
case ' ': putc(' ',stdout); break;
case 'x':
ch = buff[++pos];
if (ch >= 'a') val = 10 + (ch -'a');
else if (ch >= 'A') val = 10 + (ch -'A');
else if (ch >= '0') val = (ch -'0');
val <<= 4;
ch = buff[++pos];
if (ch >= 'a') val += 10 + (ch -'a');
else if (ch >= 'A') val += 10 + (ch -'A');
else if (ch >= '0') val += (ch -'0');
putc(val, stdout);
break;
default:
putc(ch, stdout);
break;
}
}
}
return 0;
}
坏消息是:supllied字符串似乎不会产生有效的x86代码。它可能是 加密,最后有一个decript / bootstrap;靠近溢流部分。 免责声明:我不是装配专家。
答案 2 :(得分:2)
让我们来看看第一部分:
\xb3\xe1\xdd=H\t\xd5\xd2\xf0ml\xf1\x10
\xb3
形式的转义码是8位整数的十六进制代码。在这种情况下,它是179的代码。
转义码\t
是制表符。
“H \ t”只是一个H(= 72),后跟一个制表符(= 9)。它不是Ht,与HTML无关。
我怀疑是有人向您的网络服务器发送数据以试图利用漏洞。您应该确保您的网络服务器已完全更新,以防止漏洞利用。
答案 3 :(得分:0)
我的第一个猜测是\x
使用两个十六进制字符启动转义序列。因此,请尝试将\xAB
替换为与十六进制AB对应的字符。
\t
可能是一个标签,而\'
是转义的'
答案 4 :(得分:0)
尝试对二进制文件进行逆向工程是一个非常痛苦的过程,除非你知道内容应该是什么,否则几乎是不可能的。这是因为此类文件通常包含标题,指示运行日志的程序如何解码它们。例如 - 数据开始的确切位,以及代表什么数据的位,以及数据是float,double还是int,以及数据存储的endian格式。
您应该花时间计算出编写日志的程序,并使用它将其转换回ascii - 或者能够在某些文档中搜索二进制日志的格式