我对站点锁上的XSS扫描有一些问题。他们说html输入表单中的某些URL容易受到攻击。他们说我通过表格发送的每个参数都是脆弱的。在这种情况下,漏洞来自Paypal输入表单。我使用Paypal重定向构建网站,以便用户将自己的数据输入表单,然后系统会将其发送给Paypal。这是我的表单代码的示例:
<div class="col-md-5">
<input type="text" class="form-control" name="L_PAYMENTREQUEST_FIRSTNAME" id="L_PAYMENTREQUEST_FIRSTNAME" value="<?=$_SESSION['post_value']['shipping_first_name']?>" readonly="readonly">
</div>
<input type="hidden" name="billing_first_name" value="<?=$_POST['billing_first_name']?>">
<input type="hidden" name="billing_last_name" value="<?=$_POST['billing_last_name']?>">
<input type="hidden" name="billing_email" value="<?=$_POST['billing_email']?>">
<input type="hidden" name="billing_phone" value="<?=$_POST['billing_phone']?>">
<input type="hidden" name="billing_address" value="<?=$_POST['billing_address']?>">
<input type="hidden" name="billing_city" value="<?=$_POST['billing_city']?>">
<input type="hidden" name="billing_postcode" value="<?=$_POST['billing_postcode']?>">
<input type="hidden" name="billing_state" value="<?=$_POST['billing_state']?>">
那是我表格的一部分。我想知道该表单有什么问题以及如何防止Sitelock扫描XSS漏洞?请任何人知道可以帮助我。
答案 0 :(得分:0)
您可能不检查/取消输入字段中获取的数据
,然后在billing_address字段中输入<script>alert('hacked')</script>
在下一个打印billing_address的页面上,您将看到一个弹出窗口,显示被黑
在处理表单的页面上,您应该验证输入字段没有任何javascript代码。
例如
<?php
// define variables and set to empty values
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = test_input($_POST["name"]);
$email = test_input($_POST["email"]);
$website = test_input($_POST["website"]);
$comment = test_input($_POST["comment"]);
$gender = test_input($_POST["gender"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
您需要创建一个类似于test_input的函数并为所有输入字段运行
答案 1 :(得分:0)
我还建议使用HTTP标头。
tr_col1.head(3)
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection