日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHP-代码审计-XSS

發(fā)布時(shí)間:2024/6/3 php 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP-代码审计-XSS 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • XSS防御函數(shù)
  • XSS挖掘流程
    • 黑盒挖掘
    • 白盒挖掘
    • DVWA白盒挖掘演練
      • 儲(chǔ)存型
      • 反射型
  • xss利用姿勢(shì)復(fù)習(xí)

XSS防御函數(shù)

htmlentities() 函數(shù)
把字符轉(zhuǎn)換為 HTML 實(shí)體:

<?php $str = "<? W3S?h????>"; echo htmlentities($str); ?> <?php $str = "Bill & 'Steve'"; echo htmlentities($str, ENT_COMPAT); // 只轉(zhuǎn)換雙引號(hào) echo "<br>"; echo htmlentities($str, ENT_QUOTES); // 轉(zhuǎn)換雙引號(hào)和單引號(hào) echo "<br>"; echo htmlentities($str, ENT_NOQUOTES); // 不轉(zhuǎn)換任何引號(hào) ?>

XSS挖掘流程

黑盒挖掘

  • 直接像滲透一樣挖掘即可,因?yàn)閄SS通常是可以黑盒挖掘出來的

白盒挖掘

漏洞產(chǎn)生條件

  • 用戶輸入?yún)?shù):GET POST …
  • 函數(shù)
  • 輸入到輸出是否有過濾?

漏洞愛產(chǎn)生的位置

  • 發(fā)文章處
  • 回復(fù)評(píng)論處
  • 用戶昵稱簽名處
  • 注冊(cè)修改資料處

DVWA白盒挖掘演練

儲(chǔ)存型

基本流程

  • 尋找未過濾的輸入點(diǎn),和未過濾的輸出函數(shù)
  • 尋找最終輸出點(diǎn)
  • 可以猜,或者老老實(shí)實(shí)哪里有操作過這個(gè)數(shù)據(jù),使用表名,字段名去代碼里搜

  • 觀察可能出現(xiàn)xss漏洞的目錄

  • 尋找未過濾的輸入點(diǎn),和未過濾的輸出函數(shù)

  • 可以看到過濾不完整,只過濾了一個(gè)變量

  • 并且向表guestbook中插入數(shù)據(jù)

  • 所以該處存在漏洞

  • 尋找最終的輸出點(diǎn)因?yàn)樽罱K的輸出點(diǎn)可能完全不在一個(gè)業(yè)務(wù)流上
  • 所以我們可以使用表名,字段名,去代碼里搜索
  • 圖中隨便打開一個(gè)

  • 可以看到該位置最終輸出了用戶輸入的參數(shù)
  • 看第二個(gè)框,他有條件的,如果安全級(jí)別為impossible,則都過濾一下
  • 所以得出結(jié)論:我們一定要追蹤到最后的輸出點(diǎn),否則你不知道他到底過濾沒
  • 第三個(gè)框則是輸出到html里面了

所以我們可以根據(jù)條件,判斷,輸入到輸出到底過濾沒,到底用了什么過濾,是否可以用什么方法繞過,這比黑盒審計(jì)更方便,因?yàn)槲覀冎懒诉^濾規(guī)則,直接上相應(yīng)的方法即可

反射型

基本流程

  • 尋找?guī)в?strong>未過濾的參數(shù),且這些參數(shù)傳到輸出函數(shù)
  • 根據(jù)輸出函數(shù)對(duì)輸出內(nèi)容回溯輸入?yún)?shù),觀察是否過濾
  • 輸出函數(shù)列表: print,print_r, echo, printf, sprintf, die ,var_dump, var_export

初級(jí)

  • 存在輸出函數(shù)echo

  • 輸出函數(shù)中包含輸入?yún)?shù),回溯

  • 該函數(shù)參數(shù)輸入到輸出沒有任何過濾

中級(jí)

  • 存在輸出函數(shù)echo
  • 輸出函數(shù)中包含輸入?yún)?shù),回溯
  • 該函數(shù)參數(shù)輸入到輸出吧script過濾為空
  • 但是可以用 其他標(biāo)簽繞過,過濾不完整,如onclick

高級(jí)

  • 存在輸出函數(shù)echo
  • 輸出函數(shù)中包含輸入?yún)?shù),回溯
  • 該函數(shù)參數(shù)輸入到輸出用正則吧script和周圍過濾為空
  • 但是可以用 其他標(biāo)簽繞過,過濾不完整,如onclick

安全級(jí)別

  • 輸出函數(shù)中包含輸入?yún)?shù),回溯
  • 該函數(shù)參數(shù)輸入到輸出 用htmlspecialchars實(shí)體化
  • 安全

xss利用姿勢(shì)復(fù)習(xí)

利用姿勢(shì)
由于利用姿勢(shì)很多,這里只復(fù)習(xí)一下獲取cookies

獲取cookies

  • 首先我們要獲取登陸后的頁(yè)面

  • 將cookie攻擊語句的payload插入到存在xss漏洞的位置


寫一個(gè)接受cookie的平臺(tái)

  • 獲取到cookie以后
  • 使用firebug輸入cookie
  • 然后再訪問登陸后的頁(yè)面就直接登陸上去了

總結(jié)

以上是生活随笔為你收集整理的PHP-代码审计-XSS的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。