gpt4 book ai didi

php - echo 在 8 字节输入上写入成功,但在其他输入上写入失败

转载 作者:太空宇宙 更新时间:2023-11-04 04:20:55 25 4
gpt4 key购买 nike

想了很多,但找不到合适的标题...所以也建议标题。

此外,我没有显示 HTML 代码,以避免使帖子变大。通过 PHP 变量名称和部分图的显示,很容易理解情况。

此处描述了实际问题 -

这是一个代码片段,它只是大型代码的一小部分。困惑有两种情况。下面提到了两者。 -

PHP 代码:

   while($npacket>=1) {
$count=0;
$out_file=fopen("packet.txt","w");

while($count<$payload_length ) {
$c=fgetc($file);
fputs($out_file,$c);
$count++;
}

$data_file=`cat packet.txt`;

if($datatyp=="ascii")
$fpayload="-f packet.txt";
else if($datatyp=="hex")
$fpayload="-d0x$data_file";


$random="";

if( $ip=="tcp" || $ip=="udp" )
exec("sendip -v -p ipv6 $fpayload $random $adv_cont -6s $sip $optext -p $proto $cont -$s $sapp_port -$d $dapp_port $dip ");

else {

问题就在这里......

       echo "this is $fpayload it";

exec(" echo sendip -v -p ipv6 $fpayload $random $adv_cont -6s $sip $optext -p icmp $icmp_cont $dip > sample ");

}

usleep("$igap");

if(!$flag)
$npacket--;

}

fclose($out_file);
fclose($file);

}

对于指定为输入的 1 个数据包和负载,

1) 输入:616263646566

enter image description here

输出:

  $ cat payload.txt 
616263646566
$ cat packet.txt
616263646566
$ cat sample
$

2)输入:6162636465666768

输出:

  $ cat payload.txt 
6162636465666768
$ cat packet.txt
6162636465666768
$ cat sample
sendip -v -p ipv6 -d0x6162636465666768 -6s 2001::100 -p icmp 2001::200

请帮我看看问题到底出在哪里?

编辑:

文件的权限:

 $ ls -l payload.txt packet.txt sample 
-rwxrwxrwx 1 udit udit 13 Nov 17 20:57 packet.txt
-rwxrwxrwx 1 udit udit 13 Nov 17 20:57 payload.txt
-rwxrwxrwx 1 udit udit 0 Nov 17 20:57 sample

最佳答案

问题实际上是 $payload 变量末尾存在空格和空字符。只需要在 else 部分添加一种正则表达式语法即可。

.........
else if($datatyp=="hex") {
$fpayload="-d0x$data_file";
$fpayload=preg_replace('/\s+/', '', $fpayload);

}
....

关于php - echo 在 8 字节输入上写入成功,但在其他输入上写入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com