簡體   English   中英

PHP腳本未保存已發布的數據變量

[英]Posted data variables not being saved by PHP script

我是一名(初級)筆測試員,我正在嘗試編寫一個腳本來向客戶端演示XSS攻擊的危險。 我有一個php腳本,旨在將受害者(即我自己在演示中)重定向到我托管的惡意頁面時,記錄user:pass組合。

這是登錄來源的一部分:

<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來查看變量是否被設置,而沒有設置。

我知道腳本確實有效,因為我在其他一些簡單的登錄頁面上進行了嘗試,並且效果很好。 唯一的區別是在這種情況下,用戶名和密碼后的變量中帶有方括號-這可能是問題所在嗎? 我曾嘗試對它們進行網址編碼,但無濟於事:(

有什么想法我要去哪里嗎? 謝謝=)

因為訪問變量的有效方法是

$_POST['form']['login']['username']

只需執行var_dump($_POST); 看看你的帖子包含什么

在表單名稱屬性中嘗試此操作...

name="formUsername"
name="formPasswd"

在您的接收腳本中...

$username = $_POST['formUsername']; 
$password = $_POST['formPasswd];

您在該字段周圍是否有<form action="youscript.php" method="post">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM