• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Не могу вытащить строки.

  • Автор темы Stan777
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

Stan777

Не могу вытащить строки начинающиеся с ARGS='... и зканчивающиеся ' как это сделать ?
делал так
$flag=0;
while (<Стрим_ФАЙЛ>){
chomp($_);
if($_ =~ /(ARGS=)\S/){
$flag=1;
push @MASS, $';
}
if($flag=1){
push @MASS, $_;
}
if($_ eq "'"){
$flag=0;
exit;
}
}
Это Не работает почему ?
в @MASS записывается все, а мне нужно только от ARGS='... до ' как это сделать, не пойму.
 
S

Stan777

Не могу вытащить строки начинающиеся с ARGS='... и зканчивающиеся ' как это сделать ?
делал так
$flag=0;
while (<Стрим_ФАЙЛ>){
chomp($_);
if($_ =~ /(ARGS=)\S/){
$flag=1;
push @MASS, $';
}
if($flag=1){
push @MASS, $_;
}
if($_ eq "'"){
$flag=0;
exit;
}
}
Это Не работает почему ?
в @MASS записывается все, а мне нужно только от ARGS='... до ' как это сделать, не пойму.


мда опять пришлось делость по сишному.
$flag=0;

for($i=0;$i<=scalar(@R);$i++){
if($R[$i] =~ /(ARGS=)\S/){
$flag=2;
}
if($flag>0){
push @MASS,$R[$i];
if($R[$i] =~ /(')/){
$flag--;
print $i."here:".$R[$i]."\n";
}
}

}

И все в шоколаде. :), только осталась одна проблема как быть с
ARGS=' aaaaaaaaaaa
.............................
..............................
wwwwwwwwwwwww'
только меня не устраивает ARGS=' и wwwwwwwwwwwww' в конце что делать ?
мне нужно удалять все до символа если он не последний и сам символ если он последний как это сделать ? Может кто знает ?
 
Z

zugr

Код:
$multiline = "";
while(<>) {
if (/^\s*ARGS=\S/ .. /\"\s*$/) {
$multiline .= $_
} else {
if ($multiline) {
push @MASS, $multiline;
$multiline = "";
}
}
}
if ($multiline) {
push @MASS, $multiline;
 
S

Stan777

Код:
$multiline = "";
while(<>) {
if (/^\s*ARGS=\S/ .. /\"\s*$/) {
$multiline .= $_
} else {
if ($multiline) {
push @MASS, $multiline;
$multiline = "";
}
}
}
if ($multiline) {
push @MASS, $multiline;

а я к предыдущему коду еще это дописал :).

Код:
@tin= split(//,$MASS[$#MASS]);
pop(@tin);											
$MASS[$#MASS]= join "",@tin;

Чтобы удалить последний симбол :).
 
S

Stan777

Код:
$multiline = "";
while(<>) {
if (/^\s*ARGS=\S/ .. /\"\s*$/) {
$multiline .= $_
} else {
if ($multiline) {
push @MASS, $multiline;
$multiline = "";
}
}
}
if ($multiline) {
push @MASS, $multiline;

а я к предыдущему коду еще это дописал :).

Код:
@tin= split(//,$MASS[$#MASS]);
pop(@tin);											
$MASS[$#MASS]= join "",@tin;

Чтобы удалить последний симбол :).
 
S

_serg_

Не могу вытащить строки начинающиеся с ARGS='... и зканчивающиеся ' как это сделать ?
Код:
while(<FILE>) {
next if $_ !~ /^\s*ARGS='/;
next if $_ !~ /'\s*$/s;
# сделать что-нить с $_ - она ща начинается с /\s*ARGS='/ и заканчивается '\s*$
}


Чтобы удалить последний пробельный символ:
Код:
$str =~ s/\s+$//s;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!