|
8 | 8 | * License: GNU/GPLv2 |
9 | 9 | * @see LICENSE.txt |
10 | 10 | * |
11 | | - * This file: Optional security extras module (last modified: 2025.08.10). |
| 11 | + * This file: Optional security extras module (last modified: 2025.08.13). |
12 | 12 | * |
13 | 13 | * False positive risk (an approximate, rough estimate only): « [ ]Low [x]Medium [ ]High » |
14 | 14 | */ |
|
120 | 120 | 'l(?:ock0?360|eaf_mailer|eaf_php|ufix(?:-shell)?|uuf)|' . |
121 | 121 | 'm(?:akeasmtp|iin|oduless|u-plugins/db-safe-mode|y1)|' . |
122 | 122 | 'njima|' . |
123 | | - 'o(?:ld(?:/wp-admin/install|-up-ova)|rvx(?:-shell)?|thiondwmek)|' . |
| 123 | + 'o(?:ld(?:/wp-admin/install|-up-ova)|va-uname|rvx(?:-shell)?|thiondwmek)|' . |
124 | 124 | 'p(?:erl\.alfa|hp(?:1|_niu_\d+)|huploader|lugins/(?:backup_index|vwcleanerplugin/bump|zedd/\d+)|oison|rayer_intentions|riv8|wnd|zaiihfi)|' . |
125 | 125 | 'qxuho|' . |
126 | 126 | 'r(?:andkeyword|endixd)|' . |
|
140 | 140 | ')\.php[578]?(?:$|[/?])|' . |
141 | 141 | 'funs\.php[578]?(?:$|[/?])~', |
142 | 142 | $LCNrURI |
143 | | - ), 'Probing for webshells/backdoors') || // 2023.08.18 mod 2025.08.10 |
| 143 | + ), 'Probing for webshells/backdoors') || // 2023.08.18 mod 2025.08.11 |
144 | 144 | $Trigger(preg_match('~(?:^|[/?])(?:brutalshell|css/dmtixucz/golden-access|fierzashell\.html?|perl.alfa|search/label/php-shells|wp-ksv1i\.ph)(?:$|[/?])~', $LCNrURI), 'Probing for webshells/backdoors') || // 2025.05.12 mod 2025.08.07 |
145 | 145 | $Trigger(preg_match('~(?:^|[/?])(?:moon\.php|ss\.php)\?(?:f_c|p)=~', $LCNrURI), 'Probing for webshells/backdoors') // 2025.08.07 |
146 | 146 | ) { |
|
319 | 319 | } // 2025.08.07 |
320 | 320 |
|
321 | 321 | /** Probing for exposed SQLite databases. */ |
322 | | - if ($Trigger(preg_match('~(?:^|[/?])database\.sqlite(?:$|[/?])~', $LCNrURI), 'Probing for exposed SQLite databases')) { |
| 322 | + if ($Trigger(preg_match('~(?:^|[/?])\.?database\.sqlite(?:$|[/?])~', $LCNrURI), 'Probing for exposed SQLite databases')) { |
323 | 323 | $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed SQLite databases.'], $CIDRAM['BlockInfo']['IPAddr']); |
324 | | - } // 2025.08.07 |
| 324 | + } // 2025.08.07 mod 2025.08.13 |
| 325 | + |
| 326 | + /** Probing for exposed Yarn configuration file. */ |
| 327 | + if ($Trigger(preg_match('~(?:^|[/?])\.?yarnrc(?:$|[/?])~', $LCNrURI), 'Probing for exposed Yarn configuration file')) { |
| 328 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Yarn configuration file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 329 | + } // 2025.08.13 |
| 330 | + |
| 331 | + /** Probing for exposed Yarn lock file. */ |
| 332 | + if ($Trigger(preg_match('~(?:^|[/?])yarn\.lock(?:$|[/?])~', $LCNrURI), 'Probing for exposed Yarn lock file')) { |
| 333 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Yarn lock file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 334 | + } // 2025.08.13 |
| 335 | + |
| 336 | + /** Probing for exposed NPM configuration file. */ |
| 337 | + if ($Trigger(preg_match('~(?:^|[/?])\.?npmrc(?:$|[/?])~', $LCNrURI), 'Probing for exposed NPM configuration file')) { |
| 338 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed NPM configuration file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 339 | + } // 2025.08.13 |
| 340 | + |
| 341 | + /** Probing for exposed Composer configuration file. */ |
| 342 | + if ($Trigger(preg_match('~(?:^|[/?])composer\.json(?:$|[/?])~', $LCNrURI), 'Probing for exposed Composer configuration file')) { |
| 343 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Composer configuration file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 344 | + } // 2025.08.13 |
| 345 | + |
| 346 | + /** Probing for exposed Composer lock file. */ |
| 347 | + if ($Trigger(preg_match('~(?:^|[/?])composer\.lock(?:$|[/?])~', $LCNrURI), 'Probing for exposed Composer lock file')) { |
| 348 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Composer lock file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 349 | + } // 2025.08.13 |
| 350 | + |
| 351 | + /** Probing for exposed Composer OAuth keys. */ |
| 352 | + if ($Trigger(preg_match('~(?:^|[/?])\.?co(?:mposer/auth\.json|nfig/composer)(?:$|[/?])~', $LCNrURI), 'Probing for exposed Composer OAuth keys')) { |
| 353 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Composer OAuth keys.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 354 | + } // 2025.08.13 |
| 355 | + |
| 356 | + /** Probing for exposed Bundler/Ruby lock file. */ |
| 357 | + if ($Trigger(preg_match('~(?:^|[/?])gemfile\.lock(?:$|[/?])~', $LCNrURI), 'Probing for exposed Bundler/Ruby lock file')) { |
| 358 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Bundler/Ruby lock file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 359 | + } // 2025.08.13 |
| 360 | + |
| 361 | + /** Probing for exposed Pipenv/Python lock file. */ |
| 362 | + if ($Trigger(preg_match('~(?:^|[/?])pipfile\.lock(?:$|[/?])~', $LCNrURI), 'Probing for exposed Pipenv/Python lock file')) { |
| 363 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Pipenv/Python lock file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 364 | + } // 2025.08.13 |
| 365 | + |
| 366 | + /** Probing for exposed Eclipse configuration file. */ |
| 367 | + if ($Trigger(preg_match('~(?:^|[/?])\.settings(?:$|[/?])~', $LCNrURI), 'Probing for exposed Eclipse configuration file')) { |
| 368 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Eclipse configuration file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 369 | + } // 2025.08.13 |
| 370 | + |
| 371 | + /** Probing for exposed Docker image. */ |
| 372 | + if ($Trigger(preg_match('~(?:^|[/?])\.?dockerfile(?:$|[/?])~', $LCNrURI), 'Probing for exposed Docker image')) { |
| 373 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Docker image.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 374 | + } // 2025.08.13 |
| 375 | + |
| 376 | + /** Probing for exposed Gradle configuration file. */ |
| 377 | + if ($Trigger(preg_match('~(?:^|[/?])build\.gradle(?:$|[/?])~', $LCNrURI), 'Probing for exposed Gradle configuration file')) { |
| 378 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Gradle configuration file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 379 | + } // 2025.08.13 |
| 380 | + |
| 381 | + /** Probing for exposed PHP configuration file. */ |
| 382 | + if ($Trigger(preg_match('~(?:^|[/?])php\d?\.ini(?:$|[/?])~', $LCNrURI), 'Probing for exposed PHP configuration file')) { |
| 383 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed PHP configuration file.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 384 | + } // 2025.08.13 |
| 385 | + |
| 386 | + /** Probing for exposed Laravel/OpenCart error logs. */ |
| 387 | + if ($Trigger(preg_match('~(?:^|[/?])storage/logs/error\.log(?:$|[/?])~', $LCNrURI), 'Probing for exposed Laravel/OpenCart error logs')) { |
| 388 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Laravel/OpenCart error logs.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 389 | + } // 2025.08.13 |
| 390 | + |
| 391 | + /** Probing for exposed Apache logs. */ |
| 392 | + if ($Trigger(preg_match('~(?:^|[/?])var/log/httpd(?:$|[/?])~', $LCNrURI), 'Probing for exposed Apache logs')) { |
| 393 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Apache logs.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 394 | + } // 2025.08.13 |
| 395 | + |
| 396 | + /** Probing for exposed Nginx logs. */ |
| 397 | + if ($Trigger(preg_match('~(?:^|[/?])var/log/nginx(?:$|[/?])~', $LCNrURI), 'Probing for exposed Nginx logs')) { |
| 398 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed Nginx logs.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 399 | + } // 2025.08.13 |
| 400 | + |
| 401 | + /** Probing for exposed error logs. */ |
| 402 | + if ($Trigger(preg_match('~(?:^|[/?])(?:tmp/errors[._]log|php_error_log)(?:$|[/?])~', $LCNrURI), 'Probing for exposed error logs')) { |
| 403 | + $CIDRAM['Reporter']->report([15, 21], ['Caught probing for exposed error logs.'], $CIDRAM['BlockInfo']['IPAddr']); |
| 404 | + } // 2025.08.13 |
325 | 405 | } |
326 | 406 |
|
327 | 407 | /** |
|
0 commit comments