我不得不在舊開發人員離開的舊Web應用程序上工作。它使用addslashes()來阻止HTTML屬性上的XSS。addslashes()是否安全以阻止HTML屬性中的XSS?
下面是一個例子:
<?php
// all $_POST vars are put through addslashes()
echo "<input type='hidden' value='" . $_POST['id'] . "' />";
?>
這是容易被XSS?有沒有什麼方法的JavaScript可以運行在一個值屬性,就像它可以在src屬性中,例如,src ='javascript:alert(99)'。或者可以將value屬性分解出來,然後插入腳本標記?
編輯:感謝昆汀,我認爲它是脆弱的。
使用雙引號或單引號不會突破,它只是逃脫。它真的很容易受到XSS? – MrCode
@ user995579 - 它不會被轉義。它之前只有一個斜線。這沒有任何意義,然後把它放在HTML之前。 – Quentin
是的,它在它之前放了一個斜線。這是保持所有用戶輸入的值屬性,所以我不認爲它可以被打破。 – MrCode