|
- 这篇文章介绍了当WordPress开启错误记录以后,根据error_log来发现SQL注入攻击的思路。2 I7 [ X" N& a
3 F! w5 R' _; B% T
吸引Cocoa的是这个博客其实是TrustWave公司下属的一个叫Spiderlab团队的官方博客,貌似比较有意思。例如它提到了Honeypot Alert这个标签里的文章都是分析他们一个Web蜜罐的Apache access_log日志的。
, b# d; B: Y: s0 f$ S' Z3 n r3 |+ G# A0 c3 b" ~
简单介绍一下这篇文章吧。
9 V6 D5 X- h0 z& R$ ]) ]" A9 ]) m2 b7 [4 l C: [, S: O1 \( z
开启WP错误记录功能; A% s% r2 x1 c2 g
只需要修改wp-config.php的如下几行:+ A6 O6 }8 \ H* F
+ s, @/ J, `3 q- F
@ini_set('log_errors','On'); @ini_set('display_errors','Off'); @ini_set('error_log','/home/example.com/logs/php_error.log');SQL 注入扫描
+ K# Y5 t0 `1 [# b0 C- p+ W6 I
# ]* W0 g& _# c0 \4 z[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\'' a% v" ?! C: Q- o# D! g1 p
[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--
' _ H1 h( \( y$ _) U, r9 `* a[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--
. Z! N5 L, ^8 a0 @上面的日志就是在暴力猜解表的列数,那个巨大的十六进制值会被解析成null。 , z. U! a* g- L' @; e# x6 A( f, r( q
SQL盲注扫描7 J3 z2 v- ?" ^6 k
攻击者使用了类似"waitfor delay"和"benchmark"这样的函数来盲注。. `0 v- ]5 a$ s9 S- Q
3 x3 y( V/ c4 v[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\'--/ w7 C5 y) E' Z* E
[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)
1 a7 y% Y/ v8 I' @, S2 SGoogle一下大规模扫描. x- j2 ]! f( ]5 u8 M
4 N/ o2 L1 n( _
4 v, p# l1 P' G7 H; D* D$ E
3 r: f3 j1 @. x5 g4 c- O- ~0 @6 E( I% U) [, {* R, ]
! v' d6 t# f2 l7 x, B3 X1 E
5 X! G, j' s9 \9 n; m$ G# Z' h 僵尸网络控制着可能使用被感染主机来识别潜在的目标。下面是该公司的蜜罐捕获到的一个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;
; B: x! Y7 O/ o) ~8 t* k; P3 l
; x1 ~. i& ~0 h4 {Cocoa总结:文章比较简单,但是从日志来检测攻击貌似是目前流行的一个方向。
6 q: r7 B1 Z9 f: C1 n |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|