原來html的轉義字符只能顯示不能作爲代碼執行

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
&#60&#115&#99&#114&#105&#112&#116&#62&#97&#108&#101&#114&#116&#40&#39&#49&#50&#51&#39&#41&#60&#47&#115&#99&#114&#105&#112&#116&#62
</body>
</html>

這個頁面,只能打印出

<script>alert('123')</script>

但是如果改成這樣

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>

<script>alert('123')</script>

</body>
</html>

可以彈框

說明轉義字符在html頁面解析的時候不能立即執行,它只是把字符轉義了,用於顯示

 

類似的php代碼

<?php
$abc='&#60&#115&#99&#114&#105&#112&#116&#62&#97&#108&#101&#114&#116&#40&#39&#49&#50&#51&#39&#41&#60&#47&#115&#99&#114&#105&#112&#116&#62';
$abcd="<script>alert('123123')</script>";
echo $abc;

?>

只能顯示出<script>alert('123')</script>

如果改成

<?php
$abc='&#60&#115&#99&#114&#105&#112&#116&#62&#97&#108&#101&#114&#116&#40&#39&#49&#50&#51&#39&#41&#60&#47&#115&#99&#114&#105&#112&#116&#62';
$abcd="<script>alert('123123')</script>";
echo $abcd;

?>

則會彈窗

 

這就告訴我們用xss腳本注入,通過轉義字符的方式是沒戲的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章