使用curl php时出错?

时间:2015-03-11 23:21:52

标签: php curl

#!/usr/bin/php -f
Notice: Undefined variable: argv in C:\xampp\htdocs\test\admin-ajax.php on line 12

当我尝试使用localhost服务器(Windows7上的Xammp)运行以下代码时出现此错误消息。它是由工具RIPS创建的PHP curl漏洞利用程序。

{
 #!/usr/bin/php -f
<?php
#Userinput reaches sensitive sink when function screen_icon() is called.
# template.php curl exploit
#

//
// HTTP GET,

//

$target = $argv[1];

$username = "";
$password = "";

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL, "http://localhost/wordpress3/wp-admin/admin-ajax.php?post_type=22");
curl_setopt($ch, CURLOPT_HTTPGET, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 3);
curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 3);
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookie_$target");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
$buf = curl_exec ($ch);
curl_close($ch);
unset($ch);

echo $buf;



?> }

有任何解决这个问题的建议吗?

1 个答案:

答案 0 :(得分:1)

在一个unix系统中,行#!/usr/bin/php被称为shebang line,因为这种符号#!的组合被称为她的爆炸。

当你把它作为程序运行时,她的目的是指定脚本的解释器。

所以这意味着这个脚本被命令行调用和执行。

生成错误$target = $argv[1];的行实际上是你在命令行中输入的第二个参数。

例如:

test\admin-ajax.php  site.com
        ^               ^
      argv[0]         argv[1]

但是因为您没有从命令行调用此脚本,而是从浏览器调用此错误,因为argv数组未初始化。

argv documentation

shebang wiki