48 lines
1.1 KiB
PHP
48 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
class StealerParser
|
|
{
|
|
/**
|
|
* @param string $content
|
|
*/
|
|
public function __construct(
|
|
private readonly string $content = ''
|
|
){
|
|
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function parse(): array{
|
|
|
|
$lines = explode("\n", $this->content);
|
|
$credentials = [];
|
|
$current = [];
|
|
|
|
foreach ($lines as $line) {
|
|
if (strpos($line, 'URL:') === 0) {
|
|
if (!empty($current)) {
|
|
$credentials[] = $current;
|
|
}
|
|
$current = ['url' => trim(substr($line, 4))];
|
|
} elseif (strpos($line, 'Username:') === 0) {
|
|
$current['username'] = trim(substr($line, 9));
|
|
} elseif (strpos($line, 'Password:') === 0) {
|
|
$current['password'] = trim(substr($line, 9));
|
|
} elseif (strpos($line, 'Application:') === 0) {
|
|
$current['application'] = trim(substr($line, 12));
|
|
}
|
|
}
|
|
|
|
if (!empty($current)) {
|
|
$credentials[] = $current;
|
|
}
|
|
|
|
return $credentials;
|
|
|
|
}
|
|
}
|