【问题标题】:echo writes successfully on 8 bytes input but failed for othersecho 在 8 字节输入上成功写入,但对其他人失败
【发布时间】:2012-11-17 16:20:50
【问题描述】:

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

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

此处描述了实际问题-

这是一个代码 sn-p,它只是大代码的一小部分。混淆是两种情况。两者都在下面提到。 -

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

输出:

  $ 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

【问题讨论】:

  • 奇怪,即使超过 24 小时后甚至没有一个回应

标签: php html linux shell web-applications


【解决方案1】:

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

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

}
.... 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-10
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    相关资源
    最近更新 更多