🪐Format String (Arbitrary Write)
Các vấn đề liên quan đến kĩ thuật mình sẽ đề cập trong từng thử thách.
Chí có 1 vài lưu ý khi muốn "arbitrary write" sau đây:
%n: sẽ ghi số phần tử vào nơi được trỏ đến. Ví dụ: Tôi có payload %4919p%6$n + p32(system), thì bạn có thể hiểu là tôi đã ghi đè địa chỉ của system thành giá trị 0x1337 (4919). Khi đó bạn gọi system thì cũng có nghĩa là bạn đã gọi địa chỉ của 0x1337. (Ví dụ minh họa thôi :>>)
%hn: cũng tương tự như nó sẽ ghi 2 bytes thay vì 4 bytes như %n
%hhn: cũng tương tự nhưng chỉ có 1 byte.
Lý thuyết thì chỉ có vậy.
Last updated