踏雪无痕 浅析黑客避开检测的手段
这就会产生我们以上所见的日志文件。攻击者可以将请求进行十六进制的ASCII字符编码。在以上的例子中,字符串msadc在十六进制编码以后就会变为6D 73 61 64 63。你可以使用Windows Charmap程序来快速的进行字符的ASCII到十六进制的转换。以上的HTTP请求,将字符串msadc用十六进制编码以后,就变成了:
[root@localhost]# nc -n 10.0.2.55 80
GET /%6D%73%61%64%63 HTTP/1.0
IIS的日志文件显示:
07:10:39 10.0.2.31 GET /msadc/ 302
应当注意的是,虽然采用了十六进制编码的手段,但是所产生的日志和没有使用十六进制编码的URL产生的是一样的。所以在这个例子里,编码并没有帮助攻击者逃避检测。但是,如果我们看看看Apache的日志情况,那么就是另外一个情形了。以下列出了攻击者使用来搜索某个CGI脚本的命令,后面跟着的是使用十六进制编码以后的同样命令:
[root@localhost]# nc -n 10.0.0.2 80
HEAD /cgi-bin/test-cgi HTTP/1.0
[root@localhost]# nc -n 10.0.0.2 80
HEAD /%63%67%69-bin/test-%63%67%69 HTTP/1.0
现在我们来查看一下access_log文件:
10.10.10.10 - - [18/Oct/2000:08:22:47 -0700] "HEAD /cgi-bin/test-cgi HTTP/1.0" 200 0
10.10.10.10 - - [18/Oct/2000:08:23:47 -0700] "HEAD /%63%67%69-bin/test-%63%67%69 HTTP/1.0" 200 0


