Bugku web 字元?正則?

2021-09-27 06:03:58 字數 581 閱讀 1743

開啟題目鏈結,有如下**

<?php 

highlight_file('2.php');

$key='key';

$im= preg_match("/key.*key.key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_get["id"]), $match);

if( $im )

?>

函式preg_match功能為用正規表示式匹配字串,如果匹配成功,返回值1,並把匹配到的值賦值給match,否則返回0。函式trim功能為去掉字串開頭和結尾的空格。

因此此題的目標為構造乙個滿足正規表示式/key.*key.key:\/.\/(.*key)[a-z][[:punct:]]/i的字串id

對其進行分析:

根據上面的分析,可以構造id為keyakeyaaaaakey:/a/akeya?,滿足上面正規表示式,得到flag

Bugku web 字元?正則?

題目意思很明顯,根據給出的規則構造出合理的正規表示式然後通過get方式提交彈出flag。i 字型大小 表示開始和結束。號表示匹配0 9任一數字 號表示重複前乙個字元多次 表示匹配前乙個字元4 7次 符號表示匹配 後面的內容,表示 數字 a z 表示匹配a z任意乙個字元 punct 表示匹配任意乙個...

Bugku web 各種繞過

開啟題目連線,獲得原始碼 highlight file flag.php get id urldecode get id flag flag if isset get uname and isset post passwd 分析 需要利用sha1 不能處理陣列的漏洞,如果傳入的值為陣列,則sha1會...

Bugku WEB 冬至紅包

開啟網頁 顯然是 審計了,分析 當沒有用get方法傳入flag時,會顯示click here的鏈結。點選鏈結會用get方法傳入一串字串 exam,後面是當前時間的一串sha1雜湊值。判斷傳入的flag長度與 exam是否相同,不同則顯示 長度不允許 第二個判斷過濾了一大堆 第三個判斷傳入flag的值...