next up previous contents
Next: Snort 入侵偵測 Up: Code Injection Previous: Cookies 與 Session   Contents

PHP code injection

  1. 連結某一網頁的 php 檔時,可以從 URL 上加入 php 程式執行的參數。
    http://kvm8.deyu.wang/aaa.php?link=123
    
  2. 以 php 函式 $_GET$_REQUEST 都可取得 URL 輸入的參數,其中 link 為參數名稱,上例為 link。
    <?php
    $var=$_GET['link'];
    #$var=$_REQUEST['link'];
    echo $var;
    ?>
    
  3. 因沒做任何的限制,所以可以在參數上加入 javascript 執行碼,如下例,php 會出現 test 的警告視窗。
    http://kvm8.deyu.wang/aaa.php?link=<script>alert('test');</script>
    
  4. 更可以取得 cookie。
    Image doccookie
    http://kvm8.deyu.wang/aaa.php?link=<script>alert(document.cookie);</script>
    
  5. 防止 php 被注入 javascript, thml, xml, php 等程式碼,以 strip_tags 函式去除 html 等標籤。
    <?php
    $var=$_GET['link'];
    #echo $_REQUEST['link'];
    $var = strip_tags ($var, '<p><br />');
    echo $var;
    echo 'aaaa';
    ?>
    


2016-06-02