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

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例

這篇具有很好參考價值的文章主要介紹了小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

#研究對象

PHP代碼漏洞(代碼問題)


#知識點:

1、過濾函數(shù)缺陷繞過

2CTF 考點與代碼審計


一、原理-缺陷函數(shù)-使用講解-本地

內(nèi)置函數(shù):

大部分是比較函數(shù)(過濾時使用的函數(shù))

(1)、=====

參考:

PHP 淺談 == 和=== 中,數(shù)字和字符串比較的問題。_php 數(shù)字==字符串-CSDN博客

a.==:只數(shù)值比較,判斷不能成為唯一性

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

數(shù)字和字符串進行比較時,當(dāng)這個字符串是一個無法轉(zhuǎn)換為數(shù)字的字符串,它就會被強制轉(zhuǎn)化為數(shù)字,結(jié)果總是為0?

如a=0;b='admin'——a==b——》True

而a=1;b='1admin'——b里的admin無法轉(zhuǎn)換為數(shù)字所以為0,又和1組合最后b的值為1

所以a==b

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

b.===:數(shù)值和類型都比較,具有唯一性

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

(2)、md5

a.使用==的缺陷

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

代碼邏輯是:當(dāng)name和password收入的值不同時,進入第二個條件:name的md5加密后的數(shù)==比較passwordmd5加密后的數(shù),如果相等,則輸出flag


輸入name=QNKCDZO和password=240610708

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

解析

QNKCDZO以MD5加密:0e830400451993494058024219903391

240610708以MD5加密:0e462097431906509019562988736854

又已知是用”==”進行的比較,所以就繞過了

b.使用===的解析:

MD5數(shù)組判斷不了數(shù)組,會返回null

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

===唯一性比較,所以我們使用數(shù)組的方式

name[]=1&password[]=2

代碼會收到兩個null,故判斷正確。輸出flag

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

(3)、intval

獲取數(shù)值的整數(shù)型(默認十進制。)

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

如果base為0,則通過字符串的格式進行檢測

輸入的字符串如以0開頭,則會被轉(zhuǎn)換為八進制;

????????????如以0x開頭,則以十六進制轉(zhuǎn)換;

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

(4)、strpos :strpos(string,find,start)

string是被檢查的字符串,find是要被搜索的字符串,start是開始檢索的位置,從0開始

查找字符串第一次出現(xiàn)的位置,區(qū)分大小寫

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

可以通過換行進行繞過:%0a666

%0a:表示換行

也可以在有必要的條件下使用 數(shù)組 返回null

(5)、in_array

搜索數(shù)組中的特定值:第三個參數(shù),可選,如果設(shè)為True,則函數(shù)檢查搜索的數(shù)據(jù)與數(shù)組的值的類型是否相同(類似===)

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

第三個參數(shù)作為缺陷:

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

(6)、preg_match

正則表達式:執(zhí)行匹配數(shù)據(jù),第一個參數(shù):只能匹配字符串

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

代碼邏輯:獲取到一個num值,匹配num值中是否有0-9的字符,有就die并輸出nonono,反之出來,進入下一個條件:num為整數(shù)即可

缺陷:有函數(shù)性質(zhì)可得,第一個參數(shù)只接受字符串,所以輸入一個數(shù)組即可

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

(7)、str_replace :Sql過濾

將第一參數(shù),轉(zhuǎn)換為第二參數(shù)值;無法迭代循環(huán)。即只能一次性過濾

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

缺陷:

大小寫和雙寫

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

二、實踐-CTFShow-PHP 特性-89 關(guān)卡

1.小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

由題得輸入num[]=1的形式即可

2.

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

第一個判斷不能為4476

第二個為取整之后判斷需要為4476

得知intval函數(shù)的base為0,所以需要進制轉(zhuǎn)換區(qū)觸發(fā)flag

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

輸入八進制:010574

輸入十六進制:0x117c

3.

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

查看相關(guān)preg_match里的參數(shù)/^php$/im:前面內(nèi)容不管,只要是內(nèi)容有php,$/im:代表/i(區(qū)分大小寫)、/m(是否換行匹配)

代碼邏輯就是:第一個是帶了/m的也就是要查是否有換行;第二個是不帶的,而我們是要進else拿flag的,所以

輸入cmd=%0aphp

4.

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

這題和上面的區(qū)別就是這里是==

所以要去輸出flag的話

輸出4476djakljskl——都可以主要不要進第一個if

5.

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

這題就是將num中有英文的進行過濾了

所以可以

輸出4467.1

6.

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

這題加了個strpos,是尋找字符串的第一個匹配字符,而且最后一個條件中是===,故要考慮值和類型完全相等的狀況,又因為,它用了preg_match和strpos,使八進制和十六進制不能用;

可以用:4476.0

?????????????? 4476.1

???????空格010574

7.

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

這題的preg_match多了個過濾.

所以輸出 空格010574

8.

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

這題就是==,輸入flag.php的文件,不讓它等于flag.php,進else里,將輸入值打??;

為了讓文件能夠完美的輸出來,可以用路徑在代替

輸入:./flag.php

如果這個操作系統(tǒng)為windows,Linux就不行

也可以:flag.php.

9.

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

===類型和數(shù)值都相等,函數(shù)使MD5,所以用數(shù)組,同時還是POST接收

輸入:A[]=1&b[]=2

三、實踐-代碼審計-過濾缺陷-文件讀取

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

源碼中的replace發(fā)現(xiàn)可以進行繞過

所以由于這個是個對象,去看誰把它給調(diào)用了

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

同時要考慮源文件中的if條件,進行訪問

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

得知它是以圖像的形式,所以正常的界面是訪問不到的,因此我們使用bp

在原文件中加上echo $dir;進行安全測試

讀取到網(wǎng)站的管理員賬號和密碼

小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例,安全,php,開發(fā)語言

補:路徑中的/ \都是可以的文章來源地址http://www.zghlxwxcb.cn/news/detail-804817.html

到了這里,關(guān)于小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點&CMS 審計實例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 安全基礎(chǔ)~web攻防特性1

    安全基礎(chǔ)~web攻防特性1

    使用 thinkphp 開發(fā)的框架,其首頁訪問指向 public 目錄,指向其中的index.php文件 指向的index.php打開網(wǎng)頁后是如下情況,代碼如下 定義應(yīng)用目錄,是將文件首頁展示在上圖的 application 目錄下,其下有index.php文件 application 目錄index.php文件 thinkphp框架首頁訪問的目錄 想要得到的目

    2024年01月22日
    瀏覽(25)
  • 安全基礎(chǔ)~web攻防特性2

    安全基礎(chǔ)~web攻防特性2

    Burpsuite Render在無法預(yù)覽顯示時,可以適當(dāng)?shù)那謇砭彺?win10下輸入文字變成繁體解決 進行web漏洞實驗的Java靶場程序,用來說明web應(yīng)用中存在的安全漏洞。 下載文件(最新版本包含新的漏洞靶場): https://github.com/WebGoat/WebGoat/releases/ https://github.com/WebGoat/WebGoat/releases/ 執(zhí)行命令,開

    2024年01月25日
    瀏覽(21)
  • WEB攻防基礎(chǔ)|PHP|過濾函數(shù)intval()繞過原理及方法

    WEB攻防基礎(chǔ)|PHP|過濾函數(shù)intval()繞過原理及方法

    用于獲取變量的整數(shù)值;可使用指定的進制?base?轉(zhuǎn)換(默認是十進制),返回變量?var?的?integer?數(shù)值。 注意: intval()?不能用于?object,否則會產(chǎn)生NOTICE?錯誤并返回?1。 語法結(jié)構(gòu): $var ,需要被轉(zhuǎn)換成integer的值; $base ,決定轉(zhuǎn)化時可所使用的進制。 如果 $base值為0, 通

    2024年01月16日
    瀏覽(19)
  • 小迪安全 第56天 服務(wù)攻防-數(shù)據(jù)庫安全&H2&Elasticsearch&CouchDB&Influxdb 復(fù)現(xiàn)

    小迪安全 第56天 服務(wù)攻防-數(shù)據(jù)庫安全&H2&Elasticsearch&CouchDB&Influxdb 復(fù)現(xiàn)

    1.端口掃描 2.報錯回顯 時序數(shù)據(jù)庫是近幾年一個新的概念,與傳統(tǒng)的Mysql關(guān)系型數(shù)據(jù)庫相比,它的最大的特點是:數(shù)據(jù)按照時間順序存儲。 舉例來說,日志數(shù)據(jù),是以時間順序存儲的,所以用時序數(shù)據(jù)庫存儲是一種很好的選擇。使用Mysql在存儲的過程中,不是對這種基于時間

    2024年02月03日
    瀏覽(19)
  • 小迪安全 第59天 服務(wù)攻防-中間件安全&CVE 復(fù)現(xiàn)&IIS&Apache&Tomcat&Nginx

    小迪安全 第59天 服務(wù)攻防-中間件安全&CVE 復(fù)現(xiàn)&IIS&Apache&Tomcat&Nginx

    IIS現(xiàn)在用的也少了,漏洞也基本沒啥用 ?沒有和權(quán)限掛鉤 windows 2003上面的漏洞 配置不當(dāng):該漏洞與 Nginx、php 版本無關(guān),屬于用戶配置不當(dāng)造成的解析漏洞。 這個跟文件上傳類似,找到文件上傳點,上傳png圖片 找到上傳路徑和nginx版本號 查看路徑 添加后綴可以用php執(zhí)行png

    2024年02月04日
    瀏覽(25)
  • [CTF/網(wǎng)絡(luò)安全] 攻防世界 Web_php_include 解題詳析(php偽協(xié)議、data偽協(xié)議、file偽協(xié)議)

    [CTF/網(wǎng)絡(luò)安全] 攻防世界 Web_php_include 解題詳析(php偽協(xié)議、data偽協(xié)議、file偽協(xié)議)

    這段代碼首先通過 show_source(__FILE__) 顯示當(dāng)前文件的源代碼,然后通過 $_GET[\\\'hello\\\'] 顯示 URL 參數(shù)中名為 hello 的值。 接下來,代碼使用 $_GET[\\\'page\\\'] 獲取 URL 參數(shù)中名為 “page” 的值,并進行字符串替換,將 php:// 替換為空字符串 這是為了防止通過 URL 參數(shù)加載本地文件或其他可

    2024年02月08日
    瀏覽(28)
  • 小迪安全 第15天:php開發(fā)-個人博客項目&登錄驗證&cookie&session&驗證碼安全

    小迪安全 第15天:php開發(fā)-個人博客項目&登錄驗證&cookie&session&驗證碼安全

    1.后臺驗證-登錄用戶邏輯安全-怎么去判定用戶登陸成功 2.后臺驗證-COOKIESESSION 3.后臺驗證-驗證碼·萬能密碼等 思路: 1.發(fā)送登錄請求 賬號 密碼 2.接收賬號密碼 3.判斷賬號密碼的準(zhǔn)確性 正確 成功登陸-跳轉(zhuǎn)成功頁面 錯誤 失敗登錄-重新登陸 后臺管理系統(tǒng)有多個文件頁面,為了

    2024年04月15日
    瀏覽(17)
  • 小迪安全 第14天:php開發(fā)-個人博客項目&輸入輸出類&留言板&訪問IP&UA頭來源

    小迪安全 第14天:php開發(fā)-個人博客項目&輸入輸出類&留言板&訪問IP&UA頭來源

    1.PHP-全局變量$_SERVER 2.MYSQL-插入語法INSERT 3.輸入輸出-XSS反射存儲 4.安全問題-XSS跨站CSRF等 導(dǎo)入sql文件:navicat導(dǎo)入sql數(shù)據(jù)庫文件的簡單操作步驟_sql文件怎么導(dǎo)入navicat-CSDN博客①搜索框: ② php代碼: ③結(jié)果? ④總結(jié) 在輸入輸出過程中有哪些安全問題:1.sql注入 2. XSS (在搜索框

    2024年04月26日
    瀏覽(25)
  • 安全基礎(chǔ)~攻防特性3

    安全基礎(chǔ)~攻防特性3

    (Server-Side Template Injection) 服務(wù)端模板注入 1、使用框架(MVC的模式),如python的flask,php的tp,java的spring等 2、用戶的輸入先進入控制器,導(dǎo)致服務(wù)器模板中拼接了惡意用戶輸入導(dǎo)致各種漏洞 3、根據(jù)請求類型和請求的指令發(fā)送給對應(yīng)Model業(yè)務(wù)模型進行業(yè)務(wù)邏輯判斷,數(shù)據(jù)庫存取

    2024年01月21日
    瀏覽(17)
  • 攻防世界-WEB-Web_php_include

    攻防世界-WEB-Web_php_include

    打開靶機 通過代碼審計可以知道,存在文件包含漏洞,并且對偽協(xié)議php://進行了過濾。 發(fā)現(xiàn)根目錄下存在phpinfo 觀察phpinfo發(fā)現(xiàn)如下: 這兩個都為on 所以我們就可以使用data://偽協(xié)議 payload如下: 訪問新連接 上面的payload就可以實現(xiàn)命令執(zhí)行了 找了半天發(fā)現(xiàn)flag在fl4gisisish3r3.p

    2024年02月09日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包