Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php I';我不知道为什么我的代码没有存储在XSS中_Php_Html_Mysql_Xss - Fatal编程技术网

Php I';我不知道为什么我的代码没有存储在XSS中

Php I';我不知道为什么我的代码没有存储在XSS中,php,html,mysql,xss,Php,Html,Mysql,Xss,更新:我将有效负载更改为“,XSS工作了,所以我仍然不知道为什么不能工作,但至少我存储的XSS现在正在工作。 谢谢大家的帮助 我从GitHub下载了一个聊天代码,该代码是用PHP和MYSQL编写的。我想让聊天容易受到存储的XSS的攻击,但我不明白为什么不会。 当然,所有内容都存储在数据库中,但每当我尝试注入XSS时,标记或标记内容都不会显示,但在数据库中,我看到了警报(),它只是不让我在网站上看到它本身。。。 有人知道问题的原因吗? 以下是index.php: <?php include

更新:我将有效负载更改为
,XSS工作了,所以我仍然不知道为什么不能工作,但至少我存储的XSS现在正在工作。 谢谢大家的帮助

我从GitHub下载了一个聊天代码,该代码是用PHP和MYSQL编写的。我想让聊天容易受到存储的XSS的攻击,但我不明白为什么不会。 当然,所有内容都存储在数据库中,但每当我尝试注入XSS时,标记或标记内容都不会显示,但在数据库中,我看到了警报(),它只是不让我在网站上看到它本身。。。 有人知道问题的原因吗? 以下是index.php:

<?php
include 'db.php';
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>::Message::</title>
    <link rel="stylesheet" href="style.css">
    <script>
        function ajax() {
            var req =  new XMLHttpRequest();
            req.onreadystatechange = function() {
                if (req.readyState == 4 && req.status == 200) {
                    document.getElementById('chat').innerHTML = req.responseText;
                } 
            }
            req.open('GET','chat.php', true);
            req.send();
        }
        setInterval(function(){ajax()},1000);
    </script>
</head>
<body onload="ajax();">

<div class="page">
    <div class="display-box">
        <div id="chat"></div>
    </div>
    <div class="form">
        <form action="" method="post">
            <label for="name">Name:</label><br>
            <input type="text" name="name" placeholder="Your name"><br>
            <label for="message">Write some thing:</label><br>
            <textarea name="message" id="message-write" cols="30" rows="3"></textarea><br>
            <input type="submit" name="submit" value="Send">
        </form>
        <?php
        if (isset($_POST['submit'])) {
            $name = $_POST['name'];
            $message = $_POST['message'];

            $query = "INSERT INTO tbl_chat (name, message) VALUES ('$name','$message')";
            $run = $con->query($query);
        }
        ?>
    </div>
</div>
    
</body>
</html>

::消息:
函数ajax(){
var req=新的XMLHttpRequest();
req.onreadystatechange=函数(){
如果(req.readyState==4&&req.status==200){
document.getElementById('chat').innerHTML=req.responseText;
} 
}
请求打开('GET','chat.php',true);
请求发送();
}
setInterval(函数(){ajax()},1000);
名称:

写点东西:


我认为您可能正在使用一种现代浏览器来防止利用漏洞。这并不意味着应用程序不易受攻击,它只意味着它非常容易受到攻击,甚至浏览器都可以自动检测到漏洞

尝试发送以下响应标头:

X-XSS-Protection: 0

您可以使用类似于
header('X-XSS-Protection:0');
的方法来执行此操作,并查看这是否允许您尝试XSS。此外,您还可以在此聊天中显示XSS消息,而不是响应您的“恶意攻击”“请求但在之后-它应该会工作,因为浏览器将无法将您的请求与响应关联。

您的代码易受SQL注入攻击,当您尝试发送
时,它会崩溃,等等。。。只有XSS没有问题。嘿,谢谢你的回复。但每当我尝试注入XSS时,我只会执行alert(),不带引号。即使我没有使用引号,这也是一个问题吗?您的代码容易受到SQL注入和XSS的攻击。当您查看生成的页面时,您在浏览器中看到了什么?首先,非常感谢您的回复,感谢下面的评论,我已经成功地修复了它。谢谢你的帮助。你试过调试这个问题吗?标记是否如您所期望的那样正确生成?嘿,这似乎不是问题所在,因为每当我使用有效负载时,如“它可以工作。我确实设法将XSS存储在数据库中,但alert()只是不起作用。无论如何,非常感谢你的帮助!这进一步支持了我的猜测,img起作用是因为内置浏览器保护没有阻止它,而脚本被阻止。哦,我明白了,非常感谢你的帮助!即使在我添加标题“X-XSS-protection:0”后,它也没有修复脚本标记" ... 但无论如何,我接受了答案,因为我的问题已经解决了。再次感谢!
X-XSS-Protection: 0