iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
1
自我挑戰組

大學 50 萬貸款的交代系列 第 10

Day 10 _ 怕啦.XSS Σ( ° △ °)

  • 分享至 

  • xImage
  •  

記得大學老師曾經說過,會對工程師開發的網頁構成威脅的人第一個就是天真可愛的使用者,告訴他應該怎麼輸入資料還是可以把系統搞出 Exception , 第二個就是看到網頁就想壞壞的駭客。

雖然 XSS 已經是爺爺奶奶級的漏洞了,但是沒有注意到這個漏洞存在的工程師,輸入驗證上往往會挖好幾個洞給駭客鑽。

什麼是 XSS

他是一種透過使用者輸入,刻意送出有意義且具攻擊行為的 HTML 語法。來個例子吧

<html>
    <head>
        <meta charset='utf-8'>
    </head>
    <body>
    	<form method="post" action="Foo.php">
            <label for="user">我是誰?</label>
	        <input type="text" name="user" placeholder="輸入名稱"><br>
		    <input type="submit" name="submit" value="送出">
		</form>
    </body>
</html>

先建立一個表單,看起來像這樣,可以輸入一個字串

接收表單的 PHP 我們這樣寫

<?php
	$id = $_POST['user'];
?>

<label>我是誰?</label>

<?php
	echo "我是".$id;
?>

對應剛剛的輸入內容,會得到這樣的結果

做壞壞的事情囉

如果不輸入自己的名字,而是像下面這個連結一樣的內容

<img src='https://i.imgur.com/BT0qZM6.gif'>

結果就會變成這樣(`・ω・´)

這個看起來沒什麼用處,但是,可以使用 img 標籤就表示所有標籤都可以這樣子輸入,使伺服器有相對應的反應。

因此,想要對網頁伺服器做什麼樣的事情,對使用者輸入下一些相對應的 script ,看起來就跟工程師自己寫的沒兩樣。



上一篇
Day 9 _ 使用 PHP 表單處理表單
下一篇
Day 11_如何從 XSS 惡夢中醒來
系列文
大學 50 萬貸款的交代30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言