小白pwn之旅之pwnable07

2021-10-05 17:11:49 字數 1133 閱讀 7622

連上去看源**,發現關鍵**

分析輸入乙個 6 位元組的字串,與程式隨機生成的 6 位元組字串比較。

看第乙個for迴圈這裡是乙個acsii碼1-45,但可顯示的是從33-45,

第二個for迴圈巢狀的意思是將輸入的6個位元組與系統的生成的6個位元組只要有乙個相同就能cat flag。

這裡我選的的』』』』』』

連線上去,看源**

#include

#include

intfilter

(char

* cmd)

intmain

(int argc,

char

* ar**,

char

** envp)

分析

strstr:

strstr:c 庫函式 char *strstr(const char *haystack, const char *needle) 在字串 haystack 中查詢第一次出現字串 needle 的位置,不包含終止符 『\0』。

該函式返回在 haystack 中第一次出現 needle 字串的位置,如果未找到則返回 null。

putenv:

putenv是用來改變或增加環境變數的內容。

再根據源**,我們可以知道,只要cmd中不包括flag sh tmp,就可以執行到system函式中,此時我們的ar**[1]中如果包含有cat flag的話,就可以利用cmd1得到flag。

所以我們期望執行的命令是 /bin/cat flag ,因為傳遞的引數中不能出現 「flag」 ,所以我們可以用萬用字元, 構造命令:

3.就能get flag

小白pwn之旅之pwnable05

看原始碼 include include define pw len 10 define xorkey 1 void xor char s,int len int main int argc,char ar printf do not bruteforce.n sleep time 0 20 cha...

小白pwn之旅之pwnable06

看題,連上去,發現要做題還要在60秒做一百題 怎麼可能嘛 分析就寫指令碼開始,題中又說網路不好可以在伺服器端寫,嘿嘿 那直接連線上一題 ssh shellshock pwnable.kr p2222 pw guest 就行了,在cd tmp下寫就好了這裡你會發現已經有大佬寫好了的 真好 叫coin....

小白的github之旅

一直聽說github是乙個很好用的工具,是程式設計師必備,感覺裡面有很多有用的學習資源,奈何一直不知道怎麼使用,趁著考完研有一定的英語基礎現在嘗試著摸索一下,在此記錄下自己的摸索過程,希望能對之後看到這個很粗劣的部落格的小白有所幫助,同時學習一下怎麼寫部落格,純屬為了記錄,有錯誤歡迎批評指正。本來以...