最近接到任務,說要出幾個pwn題,所以就去熟悉了一下pwn題的搭建:
第一步,準備一道pwn題的原始碼
#includeint main()
"); }
return 0;
}
第二步就是gcc編譯了,因為還要牽扯到很多的開關,所以這裡一步步來
1、關閉dep/nx(堆疊不可執行)
gcc -z execstack -o 編譯完的檔名 待編譯的檔名
2、關掉stack protector/canary(棧保護)
gcc -fno-stack-protector -o 編譯完的檔名 待編譯的檔名
3、關掉程式aslr/pie(程式隨機化保護)
gcc -no-pie 編譯完的檔名 待編譯的檔名
4、關閉整個linux系統的aslr保護
sudo -s
echo 0 > /proc/sys/kernel/randomize_va_space
exit
5.開啟整個linux系統的aslr保護
sudo -s
echo 2 > /proc/sys/kernel/randomize_va_space
6.64位linux下面的gcc編譯出乙個32位可執行程式
gcc -m32 -z execstack -fno-stack-protector -o 編譯完的檔名 待編譯的檔名
第三步,我們在做題目的時候經常碰到的就是將題目作為乙個服務繫結在乙個伺服器的乙個埠上,所以接下來可以用socat
socat tcp-l:埠號,fork exec:程式位置,reuseaddr
最後一步就是訪問題目了
nc ip位址 埠號
pwn題解第一道
今天聽說了乙個 pwnable.kr。很適合初學者,就試著做了一道題目。第一道題目,按照網頁上給的鏈結,使用putty鏈結工具聯入。輸入ls命令檢視檔案內容。很開心的看到了flag檔案,於是直接開啟,果然不出所料,我是沒有許可權開啟的。然後檢視了一下fd.c的 include include inc...
一道演算法題
兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...
一道演算法題
1.上午主要做了對翻譯任務的劃分,下午把 翻譯完畢。2.明天要講的演算法題 對乙個集合,求出其連續元素組成的子集中,和最大的子集 我對這道題的理解是 1 若集合中最小值大於0,意味著所有的都大於0,則最大的子集和,為所有值加起來 2 若集合中最大值小於0,意味著所有的都小於0,則最大的子集和,為集合...