Wordress security plugin
Thursday, 2 August 2007
The recent attacks on WordPress has compelled me to write a WordPress security plugin, in order to protect my blog and make every other WordPress blog safer. So if you want to get involved please let me know and I’ll include your attack vectors in the code.
I shall release more details soon (the name etc) but in the meantime have a look at who’s been attacking me :-
‘211.14.18.62’,’195.238.236.4′,’66.35.250.15′,’217.30.180.53′,
‘195.188.89.200’,’64.241.37.140′,’200.89.188.195′,’66.80.248.146′,
‘88.56.223.100’,’202.108.11.106′,’207.67.117.178′,’207.154.21.218′,
‘81.241.238.103’,’81.241.238.103′,’202.108.11.106′,’202.108.11.106′,
‘72.36.94.120’,’66.230.204.130′,’66.230.204.130′,’66.230.204.130′,
‘66.230.204.130’,’66.230.204.130′,’67.18.100.186′,’67.18.100.186′,
‘202.108.11.106’,’122.152.129.17′,’202.108.11.106′,’85.214.62.129′,
‘85.214.62.129’,’61.135.162.212′,’202.108.11.106′,’141.223.95.7′,
‘61.135.162.212’,’202.108.11.106′,’207.67.117.178′,’81.26.192.227′
So might want to add those people to a block list 🙂
I will be releasing the plugin soon on the main WordPress site once I have completed it.
No. 1 — August 2nd, 2007 at 12:52 pm
Gareth, we are currently working on a WordPress Security plugin for BlogSecurity. If your keen to join the team drop me an email.
No. 2 — August 2nd, 2007 at 1:05 pm
Hi David, I’ve just emailed you. Yeah I’d love to join the team. Anything to improve WordPress security.
No. 3 — August 2nd, 2007 at 1:27 pm
Initially i thought about using a blacklist too.. But it grows rather fast.. These days i use the akismet plugin…
Anyway, here is a list with ips of users that annoyed me with spam:
12.9.0.164
12.45.169.249
12.152.101.34
12.154.44.2
12.166.242.130
12.210.19.48
12.210.234.222
24.22.15.237
24.22.218.231
24.30.172.222
24.46.80.117
24.47.0.47
24.52.131.26
24.86.74.122
24.123.76.219
24.158.213.38
24.187.123.17
24.196.252.52
24.214.68.9
24.218.236.49
24.232.133.87
58.10.137.145
58.15.127.29
58.60.33.154
58.61.96.134
58.61.154.228
58.65.237.161
58.78.120.228
58.80.112.76
58.88.204.77
58.147.0.35
59.1.50.148
59.2.198.89
59.9.140.219
59.10.239.206
59.16.218.134
59.19.196.60
59.19.214.76
59.20.62.88
59.37.32.106
59.92.62.132
59.93.130.15
59.93.144.21
59.93.196.118
59.93.198.139
59.93.199.216
59.93.200.131
59.93.252.115
59.94.241.19
59.95.64.27
59.95.128.134
59.95.166.52
59.106.20.33
59.144.145.96
59.144.165.121
59.144.182.253
59.159.224.184
59.160.212.131
59.163.69.34
59.165.163.18
59.165.163.21
59.188.21.82
60.48.141.251
60.191.251.9
60.197.138.19
60.248.35.77
61.0.39.6
61.6.47.6
61.16.154.131
61.17.164.77
61.17.191.14
61.17.223.124
61.18.195.245
61.23.197.209
61.24.156.194
61.24.182.72
61.31.236.113
61.39.158.210
61.42.255.145
61.47.15.133
61.48.124.238
61.48.125.233
61.48.180.84
61.48.185.226
61.48.187.105
61.49.192.179
61.51.84.49
61.51.114.1
61.55.135.167
61.74.137.145
61.90.155.17
61.109.31.91
61.117.191.194
61.129.52.144
61.129.102.208
61.131.55.138
61.142.212.46
61.149.129.233
61.149.130.31
61.149.130.50
61.149.135.114
61.159.227.93
61.172.240.105
61.177.65.155
61.185.219.235
61.189.240.196
61.206.125.114
61.233.12.40
61.238.244.86
61.239.223.57
61.240.111.196
61.241.107.227
61.243.34.102
62.23.83.110
62.116.5.249
62.116.40.112
62.117.37.102
62.141.54.139
62.153.91.83
62.171.194.4
62.171.194.11
62.171.194.44
62.193.238.38
62.197.126.10
62.206.142.66
62.221.222.5
63.64.43.174
63.134.135.53
63.168.93.42
63.236.234.27
63.239.116.254
64.12.116.6
64.12.116.7
64.12.116.8
64.12.116.9
64.12.116.11
64.12.116.12
64.12.116.13
64.12.116.65
64.12.116.70
64.12.116.131
64.12.116.202
64.12.117.8
64.12.117.9
64.12.117.10
64.12.117.11
64.12.117.12
64.12.117.13
64.12.117.14
64.34.168.29
64.38.60.114
64.72.112.14
64.108.89.18
64.154.81.242
64.218.114.51
64.234.216.23
65.28.98.110
65.64.31.217
65.115.220.89
65.116.102.4
65.122.110.213
65.184.99.83
66.16.50.9
66.27.208.68
66.28.32.44
66.97.174.196
66.98.168.100
66.139.75.234
66.139.76.153
66.192.30.22
66.198.31.4
66.223.204.38
66.228.118.86
66.232.113.20
66.246.72.81
67.84.20.177
67.187.183.103
68.9.230.246
68.44.50.213
68.46.59.20
68.87.64.100
68.92.192.179
68.95.229.18
68.119.203.119
68.173.26.8
68.178.189.167
68.199.142.148
68.201.73.206
68.216.66.167
68.226.90.34
68.235.128.162
68.236.162.115
68.249.1.176
69.1.18.219
69.41.54.49
69.45.68.245
69.50.160.26
69.61.29.218
69.72.177.104
69.86.54.205
69.92.152.73
69.165.34.231
69.212.128.5
69.221.146.84
69.253.48.212
69.254.111.229
70.60.147.19
70.85.85.132
70.86.44.202
70.86.78.226
70.96.121.67
70.100.190.152
70.136.76.23
70.159.21.50
70.160.234.62
70.176.139.153
70.239.66.29
70.242.163.186
70.245.162.226
70.253.89.13
71.79.33.72
71.105.95.75
71.206.236.244
71.227.126.81
71.228.74.82
71.230.73.157
71.249.193.38
72.2.130.111
72.29.81.173
72.36.142.215
72.36.244.195
72.145.47.64
72.174.209.234
72.174.248.62
72.232.23.253
72.232.85.186
72.232.179.242
72.232.225.218
72.232.254.66
74.52.44.34
74.52.68.226
74.247.231.4
75.35.247.249
75.82.178.51
75.136.130.12
75.137.173.113
76.23.187.196
76.160.19.159
80.48.194.55
80.50.71.198
80.50.82.90
80.55.101.122
80.55.145.252
80.58.205.34
80.58.205.47
80.76.148.200
80.81.159.20
80.87.89.112
80.146.209.27
80.178.45.80
80.178.45.209
80.178.71.4
80.178.147.65
80.178.147.105
80.178.147.110
80.178.147.169
80.178.147.218
80.178.147.233
80.178.148.16
80.178.148.36
80.178.148.122
80.178.149.222
80.178.150.81
80.178.157.47
80.178.157.76
80.217.62.55
80.227.0.153
80.232.180.45
80.249.70.139
81.7.87.242
81.29.212.18
81.30.96.251
81.56.240.148
81.80.26.105
81.95.146.162
81.95.146.227
81.168.161.8
81.169.174.124
81.177.3.205
81.195.73.220
81.219.223.10
81.236.171.146
81.252.73.241
82.55.118.213
82.55.178.49
82.57.36.203
82.57.103.105
82.57.169.15
82.57.177.101
82.58.229.121
82.59.76.132
82.66.16.213
82.67.170.56
82.78.163.207
82.105.215.110
82.114.69.131
82.114.69.132
82.116.32.9
82.137.247.131
82.137.247.132
82.143.160.165
82.146.42.210
82.146.56.216
82.156.39.178
82.160.42.120
82.160.42.205
82.207.78.171
82.210.159.205
82.211.102.159
82.227.96.217
82.227.132.35
82.232.97.239
82.234.138.4
82.245.101.16
83.14.92.227
83.16.113.106
83.17.55.19
83.17.157.82
83.20.13.26
83.97.24.51
83.138.209.122
83.151.156.148
83.171.225.5
84.19.182.59
84.54.147.49
84.94.111.212
84.94.137.98
84.94.138.249
84.95.69.48
84.96.70.155
84.108.225.141
84.110.252.219
84.179.2.254
84.183.209.47
84.205.10.82
84.222.175.147
84.235.100.2
85.10.206.37
85.11.136.32
85.17.36.179
85.33.152.36
85.34.94.156
85.91.136.173
85.114.85.238
85.128.94.19
85.137.1.1
85.159.40.2
85.185.101.8
85.185.106.26
85.185.236.229
85.185.240.4
85.186.226.27
85.193.213.185
85.193.220.64
85.204.169.30
85.250.138.188
85.255.113.178
85.255.113.182
85.255.113.183
85.255.117.251
86.51.0.131
86.51.0.135
86.55.183.169
86.121.8.142
86.127.37.7
87.5.254.232
87.6.151.121
87.7.106.87
87.10.154.233
87.11.17.40
87.11.51.161
87.14.212.48
87.15.26.90
87.16.85.223
87.19.104.50
87.68.13.119
87.69.28.108
87.101.240.8
87.123.239.14
87.240.12.56
87.240.18.226
87.248.182.89
88.33.254.90
88.84.144.46
88.86.31.1
88.86.100.26
88.156.117.99
88.191.33.169
88.247.169.170
89.178.107.122
89.178.137.190
121.1.6.130
121.35.92.21
121.35.92.252
121.35.94.192
121.35.156.34
124.58.33.107
125.18.15.102
125.57.40.251
125.63.70.4
125.64.33.25
125.101.3.24
125.143.181.125
125.187.0.203
125.240.113.194
125.241.82.132
125.243.163.66
125.243.245.66
125.244.12.2
125.244.53.130
125.244.186.2
125.245.166.2
125.245.186.132
125.248.152.26
125.250.30.82
125.250.187.58
130.88.251.66
130.89.237.252
130.227.200.43
134.93.178.33
136.165.238.20
141.146.4.13
141.154.73.50
142.165.3.43
148.233.159.24
148.233.159.57
148.233.229.235
148.233.229.236
148.235.86.114
148.244.143.244
148.244.235.4
149.9.0.27
151.38.255.190
152.163.100.5
152.163.100.6
152.163.100.7
152.163.100.8
152.163.100.9
152.163.100.10
152.163.100.12
152.163.100.13
152.163.100.65
152.163.100.199
152.163.101.6
152.163.101.7
152.163.101.8
152.163.101.10
152.163.101.11
152.163.101.12
152.163.101.14
157.158.16.43
159.61.240.143
159.93.70.13
159.148.229.2
163.15.220.202
163.28.33.226
163.247.50.20
165.228.128.11
165.228.129.11
165.228.130.12
165.228.131.11
165.228.131.12
165.228.132.11
165.228.133.11
165.229.79.50
165.229.205.91
172.191.10.144
190.39.6.48
190.47.106.162
192.104.37.16
192.117.141.130
193.49.9.5
193.69.116.14
193.69.116.20
193.69.180.120
193.85.227.42
193.93.236.2
193.111.244.17
193.170.68.244
193.188.73.129
193.194.68.3
193.194.69.66
193.219.14.237
193.227.17.30
193.227.131.50
194.64.227.16
194.126.179.100
194.160.170.21
194.165.130.93
194.250.151.179
195.13.59.214
195.112.108.74
195.131.191.103
195.146.135.6
195.175.37.6
195.175.37.8
195.175.37.70
195.175.37.71
195.225.176.73
195.225.176.77
195.225.176.177
195.225.177.14
195.225.177.61
195.225.177.80
195.225.177.90
195.225.177.190
195.226.230.38
195.226.230.58
195.242.252.80
195.245.224.138
196.12.144.39
196.32.134.38
196.36.12.146
196.40.43.74
196.40.43.78
196.40.43.218
196.201.151.5
196.202.154.134
198.133.178.133
198.136.32.81
198.163.199.5
199.3.20.235
200.3.252.38
200.7.23.172
200.20.13.3
200.21.17.71
200.21.219.210
200.25.185.251
200.35.81.254
200.35.85.40
200.41.39.123
200.49.168.204
200.49.176.13
200.50.21.50
200.55.111.119
200.55.217.26
200.58.129.84
200.65.127.163
200.69.243.137
200.69.253.165
200.72.128.138
200.72.204.37
200.76.36.195
200.87.19.124
200.88.223.98
200.88.223.99
200.89.217.66
200.93.198.226
200.103.18.7
200.109.136.9
200.115.112.125
200.117.173.21
200.118.2.218
200.118.2.219
200.122.153.10
200.122.153.250
200.122.154.136
200.126.72.36
200.130.15.10
200.140.3.185
200.145.202.11
200.153.112.250
200.161.7.105
200.171.21.178
200.175.129.194
200.179.195.77
200.179.240.250
200.193.80.122
200.199.121.74
200.203.63.54
200.206.167.241
200.208.159.132
200.209.165.201
200.210.70.7
200.225.194.49
200.243.218.31
200.243.218.32
200.252.181.130
201.0.4.148
201.3.169.170
201.6.118.8
201.7.250.90
201.10.162.160
201.14.75.198
201.17.22.71
201.17.71.94
201.17.87.191
201.17.170.149
201.17.228.207
201.20.227.130
201.21.75.243
201.23.158.211
201.24.80.194
201.30.48.148
201.31.102.130
201.34.32.243
201.35.48.92
201.38.195.139
201.52.4.158
201.53.106.170
201.55.104.165
201.57.191.30
201.63.37.90
201.80.30.15
201.140.19.144
201.147.158.52
201.147.199.205
201.160.35.40
201.208.217.117
201.212.55.158
201.216.192.49
201.218.5.5
201.218.96.84
201.223.13.223
201.240.254.66
201.242.151.48
201.242.184.37
201.243.213.242
201.249.44.196
201.252.166.102
201.255.18.14
202.24.247.80
202.28.51.195
202.51.15.37
202.53.70.98
202.54.51.5
202.54.61.99
202.58.85.8
202.58.86.3
202.63.192.84
202.65.177.14
202.69.141.154
202.69.187.166
202.69.192.4
202.71.106.121
202.74.34.251
202.75.7.249
202.75.49.130
202.75.49.131
202.75.49.132
202.75.49.133
202.75.49.134
202.75.62.79
202.75.128.24
202.76.235.6
202.82.119.17
202.83.165.208
202.83.223.90
202.86.192.162
202.103.18.25
202.110.217.130
202.127.82.142
202.143.150.142
202.146.67.238
202.155.100.96
202.156.6.75
202.159.112.253
202.159.212.165
202.181.240.219
202.190.200.28
202.190.200.50
202.190.200.70
202.248.88.189
203.35.166.3
203.68.18.20
203.68.220.125
203.81.31.212
203.94.243.2
203.95.105.2
203.101.57.242
203.101.61.90
203.109.33.34
203.109.34.34
203.113.13.3
203.113.13.4
203.113.13.5
203.113.20.70
203.115.1.134
203.115.1.135
203.121.69.170
203.121.69.171
203.121.69.172
203.121.69.173
203.121.69.174
203.121.69.176
203.121.69.181
203.130.0.178
203.130.249.20
203.131.80.158
203.131.114.43
203.133.33.169
203.135.39.30
203.142.1.154
203.142.1.161
203.142.1.162
203.142.1.179
203.142.1.182
203.144.135.18
203.144.143.2
203.144.143.3
203.144.143.6
203.144.143.9
203.144.144.163
203.144.160.246
203.144.160.249
203.144.160.251
203.145.131.158
203.145.203.253
203.149.62.66
203.154.224.16
203.160.1.47
203.160.1.138
203.162.89.61
203.172.183.67
203.177.167.195
203.179.86.137
203.187.204.83
203.197.43.130
203.211.158.253
203.215.67.196
203.234.238.195
203.236.16.50
203.236.16.51
203.247.156.16
204.157.6.109
205.134.172.141
205.161.188.42
205.172.203.38
205.234.145.222
206.54.70.243
206.82.130.210
206.188.27.102
206.222.30.2
206.227.16.2
207.29.224.155
207.29.224.160
207.67.146.218
207.68.146.109
207.73.47.247
207.104.185.3
207.157.69.68
207.188.28.33
207.195.240.48
207.226.181.162
207.232.187.182
207.235.152.5
207.243.70.35
208.5.210.2
208.99.202.199
208.179.120.34
208.194.225.150
209.11.82.87
209.11.169.17
209.12.232.149
209.62.248.66
209.68.139.150
209.78.98.27
209.115.208.133
209.155.88.2
209.190.4.10
209.205.236.82
209.206.228.3
210.7.74.140
210.17.38.206
210.17.238.165
210.17.251.31
210.21.75.114
210.22.15.10
210.59.94.80
210.66.227.44
210.83.210.165
210.87.251.111
210.93.23.9
210.102.0.50
210.106.31.34
210.108.57.10
210.113.119.78
210.117.131.48
210.127.227.69
210.149.120.127
210.177.254.12
210.187.6.84
210.194.71.215
210.194.254.127
210.212.95.99
210.213.227.18
210.214.13.66
210.223.135.201
210.238.74.61
210.239.42.223
210.239.46.132
210.245.160.188
211.32.99.87
211.38.211.130
211.43.222.21
211.48.62.47
211.48.62.48
211.52.78.2
211.76.97.230
211.78.176.252
211.94.130.98
211.98.110.69
211.100.4.71
211.100.30.131
211.107.219.248
211.110.166.77
211.141.223.68
211.143.160.134
211.153.44.155
211.162.62.161
211.169.146.12
211.174.147.200
211.176.9.105
211.176.240.118
211.179.84.242
211.192.132.153
211.195.220.53
211.205.186.190
211.207.125.180
211.215.17.73
211.220.195.27
211.227.251.199
211.232.42.182
211.246.150.24
211.247.75.155
212.0.138.24
212.3.13.53
212.15.136.72
212.15.136.85
212.17.194.130
212.35.114.108
212.49.85.94
212.56.202.147
212.92.1.62
212.116.219.176
212.138.47.17
212.138.47.18
212.138.64.171
212.138.64.172
212.138.64.173
212.138.64.174
212.138.64.176
212.138.64.177
212.138.64.178
212.138.64.179
212.138.113.13
212.138.113.23
212.165.130.9
212.166.64.6
212.202.151.219
212.227.92.144
212.227.101.15
212.248.245.241
213.30.141.186
213.33.239.9
213.42.2.10
213.42.2.25
213.42.2.26
213.42.21.77
213.61.120.101
213.113.123.15
213.133.166.140
213.136.30.2
213.136.105.2
213.140.56.3
213.140.58.187
213.152.157.127
213.170.92.98
213.172.45.250
213.179.238.226
213.249.155.233
213.249.155.235
213.249.155.244
216.61.101.247
216.72.89.202
216.85.253.254
216.93.179.108
216.126.141.44
216.136.65.2
216.144.234.2
216.145.252.254
216.147.215.194
216.155.75.230
216.207.123.200
216.208.255.146
217.6.59.34
217.17.161.98
217.65.220.155
217.91.66.6
217.91.96.221
217.110.228.212
217.125.213.185
217.150.108.194
217.160.170.145
217.174.16.29
217.199.172.146
217.219.128.69
217.219.203.16
217.219.224.69
218.11.207.244
218.13.50.202
218.25.163.18
218.30.84.110
218.36.231.198
218.38.214.109
218.56.144.42
218.63.252.219
218.75.87.37
218.98.195.19
218.103.58.139
218.107.238.36
218.110.16.31
218.118.122.12
218.123.136.102
218.123.136.178
218.126.50.24
218.127.28.140
218.135.244.22
218.138.248.152
218.145.170.112
218.152.81.48
218.152.126.38
218.159.224.127
218.177.255.73
218.180.236.2
218.182.168.34
218.189.215.180
218.189.215.182
218.204.249.28
218.207.24.6
218.226.224.85
218.242.217.103
218.249.37.43
219.23.20.207
219.28.32.232
219.44.100.122
219.93.174.101
219.93.174.102
219.93.174.105
219.93.174.106
219.93.211.74
219.94.45.38
219.94.108.234
219.106.231.34
219.110.58.59
219.120.249.166
219.134.81.246
219.134.116.227
219.134.252.109
219.140.165.83
219.140.165.91
219.144.196.226
219.171.84.211
219.186.246.42
219.232.9.180
219.240.12.173
219.250.255.50
220.1.36.197
220.33.140.11
220.34.64.85
220.47.32.108
220.50.152.89
220.72.196.87
220.72.196.109
220.73.57.180
220.94.21.185
220.119.125.197
220.124.147.67
220.133.160.23
220.181.31.44
220.202.161.26
220.210.149.84
220.210.186.149
220.226.63.254
220.230.101.181
221.11.70.147
221.30.33.68
221.91.132.43
221.94.188.30
221.112.179.173
221.117.146.137
221.140.222.203
221.146.86.187
221.148.192.191
221.160.38.187
221.169.51.189
221.190.22.14
221.208.173.84
221.216.43.192
221.216.249.5
221.217.114.138
221.217.116.155
221.217.117.171
221.217.118.10
221.217.120.247
221.217.121.248
221.217.122.169
221.217.123.87
221.217.126.63
221.220.50.119
221.220.120.147
221.220.120.207
221.223.178.212
221.240.212.126
221.245.244.13
221.248.49.16
221.250.175.147
221.255.153.79
222.76.203.140
222.83.255.210
222.97.230.132
222.108.63.173
222.108.175.147
222.108.225.250
222.124.24.117
222.126.1.242
222.187.193.146
222.191.251.51
222.210.180.125
222.210.181.87
222.216.110.155
222.234.25.10
222.234.60.118
222.236.34.90
222.240.168.137
No. 4 — August 2nd, 2007 at 1:39 pm
Hi Tim
My list had nothing to do with spam but rather SQL injection attacks and XSS attacks. Akismet is a anti-spam plugin and is nothing to do with protecting against web attacks.
But thanks for the list I shall store that for further examination.
I don’t get any spam on my blog 😉
Cause I wrote my own plugin:-
http://www.thespanner.co.uk/2007/05/23/spambam-hits-1000-downloads/
No. 5 — August 3rd, 2007 at 2:05 am
Try Bad Behaviour. No need to re-invent the wheel!
No. 6 — August 3rd, 2007 at 2:21 am
Thanks Mark I’ve looked at that before but my plugin is completely different, I think there’s been some confusion when I posted.
My plugin detects and prevents XSS, SQL injection and redirection etc, the blacklist I emailed was from attackers using these methods on the spanner.
My code actually patches a lot of WordPress variables as well as offering banning by IP address, the plugin will prevent future attacks on WordPress as well.
No. 7 — August 3rd, 2007 at 3:49 am
I think we need a different approach rather then blocking IP’s most IP’s are hijacked servers, trojanized PC’s et al.
Gareth let me know how far you are with the project we have in mind, i have a few new ticks up my sleeve to not only detect bad behavior but also to block and redirect it, instead of permanently blocking it.
Cause my htaccess with blocked IP’s is around 18KB now, and my index page is around 7KB 🙂 but this is temporary I have plenty of new ideas to stop ’em all for good.
No. 8 — August 3rd, 2007 at 3:57 am
Ronald sounds cool!
I shall be in touch, still working on the code but a prototype should be ready soon.
No. 9 — August 3rd, 2007 at 11:04 am
anti spam system based on the IP are really a bad idea. Almost everyone uses dynamic IPs and ends to be blocked only because a stupid script kiddie got the same IP in the past.
askimet and similar systems work well (while not being perferct, but there is no perfect solution).
No. 10 — August 3rd, 2007 at 11:14 am
Hi Pierre it isn’t a anti-spam system and my plugin doesn’t just submit IP’s blind, I do some checks on them.
The bans will be removed once the WordPress attacks calms down. My plugin will handle attacks by patching and filtering the WordPress code.
This is a security plugin not a anti spam plugin.