|
- 这篇文章介绍了当WordPress开启错误记录以后,根据error_log来发现SQL注入攻击的思路。
# U0 J; {: W& ^* j: M+ a* {% J- A) F m% p( X7 c
吸引Cocoa的是这个博客其实是TrustWave公司下属的一个叫Spiderlab团队的官方博客,貌似比较有意思。例如它提到了Honeypot Alert这个标签里的文章都是分析他们一个Web蜜罐的Apache access_log日志的。% B9 C* G% u& E% j7 g6 U
: B6 a; V3 G# W8 w9 Q; a; s
简单介绍一下这篇文章吧。
5 Y. [, G+ k+ w7 I! X- d; k$ o, B1 B
开启WP错误记录功能
* ?# O% W1 q/ W4 o只需要修改wp-config.php的如下几行:# p6 E6 p9 \# A) t5 C( [
4 u/ c' }# @/ s+ ^( ]( K
@ini_set('log_errors','On'); @ini_set('display_errors','Off'); @ini_set('error_log','/home/example.com/logs/php_error.log');SQL 注入扫描
/ J# ^. x6 e( D
# A b, p- F9 L! M0 [[07-Dec-2012 02:40:49] WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = -1\'' at line 1 for query SELECT text, author_id, date FROM WHERE id = -1\') ?& y! Z" \9 s$ Q4 @4 k
[07-Dec-2012 02:40:50] WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 999999.9 UNION ALL SELECT 0x31303235343830303536--' at line 1 for query SELECT text, author_id, date FROM WHERE id = 999999.9 UNION ALL SELECT 0x31303235343830303536--& f" j0 F4 J1 Y$ G2 c
[07-Dec-2012 02:40:53] WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 999999.9 UNION ALL SELECT 0x31303235343830303536,0x313032353438303035' at line 1 for query SELECT text, author_id, date FROM WHERE id = 999999.9 UNION ALL SELECT 0x31303235343830303536,0x31303235343830303536--- B6 f: [. n" k3 r0 e
上面的日志就是在暴力猜解表的列数,那个巨大的十六进制值会被解析成null。 ' ~8 q0 b$ c* \& `- P1 \
SQL盲注扫描( H) H+ Q- O6 Y" L* V( l h
攻击者使用了类似"waitfor delay"和"benchmark"这样的函数来盲注。- ~; b9 \2 l3 c$ s% ~/ N. K2 h
/ ?3 Z+ `7 J5 I3 v. U5 N4 k6 m, p
[07-Dec-2012 02:43:21] WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = -1; if (1=1) waitfor delay \'00:00:05\'--' at line 1 for query SELECT text, author_id, date FROM WHERE id = -1; if (1=1) waitfor delay \'00:00:05\'--
8 \* W* X8 b% i1 ~9 S. ^[07-Dec-2012 02:43:27] WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = -1 and if(1=1,BENCHMARK(8623333,MD5(0x41)),0)' at line 1 for query SELECT text, author_id, date FROM WHERE id = -1 and if(1=1,BENCHMARK(8623333,MD5(0x41)),0)
+ C, H o f+ y7 @/ }8 zGoogle一下大规模扫描
9 y. J2 D9 Z, L) B% p4 x1 r5 m, h# w/ n }5 @7 P
% |. ^' S4 B& F$ I9 j- d& y% }6 W 0 J4 G8 l! @' Y/ i3 y
4 \! J! D/ v! p! j7 T* O
0 u5 m: }( p$ D' N. S* v( i& d
3 @" }. p0 q6 I6 c
僵尸网络控制着可能使用被感染主机来识别潜在的目标。下面是该公司的蜜罐捕获到的一个RFI(远程文件包含)攻击代码里的片段: - sub google() { my @list; my $key = $_[0]; for (my $i=0; $i<=400; $i+=10){ my $search = ("http://www.google.com/search?q=".&key($key)."&num=100&filter=0&start=".$i); my $res = &search_engine_query($search); while ($res =~ m/<a href="\"?http:\/\/([^">\"]*)\//g) { if ($1 !~ /google/){ my $link = $1; my @grep = &links($link); push(@list,@grep); } } } return @list;# U5 M$ }4 p0 w0 a( M
# R: I" Z2 N+ `: ACocoa总结:文章比较简单,但是从日志来检测攻击貌似是目前流行的一个方向。
! E9 r0 n. ] u0 q |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|