BROP - Blind Return Oriented Programming
AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдкреНрд░реИрдХреНрдЯрд┐рд╕ рдХрд░реЗрдВ:HackTricks рдкреНрд░рд╢рд┐рдХреНрд╖рдг AWS рд░реЗрдб рдЯреАрдо рдПрдХреНрд╕рдкрд░реНрдЯ (ARTE)
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдкреНрд░реИрдХреНрдЯрд┐рд╕ рдХрд░реЗрдВ:
HackTricks рдкреНрд░рд╢рд┐рдХреНрд╖рдг GCP рд░реЗрдб рдЯреАрдо рдПрдХреНрд╕рдкрд░реНрдЯ (GRTE)
рдореВрд▓ рдЬрд╛рдирдХрд╛рд░реА
рдЗрд╕ рд╣рдорд▓реЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рд╡рдВрд╢реАрдп рдмрд╛рдЗрдирд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЖрд░рдУрдкреА рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рд╣рдорд▓рд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:
рдПрдХ рд╕реНрдЯреИрдХ рдХрдордЬреЛрд░реА рдФрд░ рдЙрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реАред
рдПрдХ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛ рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИред
рд╣рдорд▓рд╛
1. рд╡рдВрд╢реАрдп рдСрдлрд╕реЗрдЯ рдЦреЛрдЬреЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рдХрд┐рд╕реА рдЦрд░рд╛рдмреА рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рддрдХ рдПрдХ рдЕрдзрд┐рдХ рд╡рд░реНрдг рднреЗрдЬреЗрдВ
2. рдХреИрдирд░реА рдХреЛ рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдХрд░реЗрдВ рдЗрд╕реЗ рд▓реАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
3. рд╕реНрдЯреЛрд░реНрдб рдЖрд░рдмреАрдкреА рдФрд░ рдЖрд░рдЖрдИрдкреА рдХреЛ рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдХрд░реЗрдВ рд╕реНрдЯреИрдХ рдореЗрдВ рдЗрдиреНрд╣реЗрдВ рд▓реАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЖрдк рдЗрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ (рдмреАрдПрдл рдлреЛрд░реНрдХреНрдб рдФрд░ рдереНрд░реЗрдбреЗрдб рд╕реНрдЯреИрдХ рдХреИрдирд░реАрдЬ) рдФрд░ рдпрд╣рд╛рдБ (рдмреАрдПрдл рдПрдбреНрд░реЗрд╕реЗрд╕ рдЗрди рдж рд╕реНрдЯреИрдХ) рд╕реЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
4. рд╕реНрдЯреЙрдк рдЧреИрдЬреЗрдЯ рдЦреЛрдЬреЗрдВ
рдпрд╣ рдЧреИрдЬреЗрдЯ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдЪрд▓ рд░рд╣рд╛ рдерд╛ рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реБрдЖред рд╕рд╛рдорд╛рдиреНрдпрдд: рдпрд╣ рдЧреИрдЬреЗрдЯ рдХреБрдЫ рд╣реИ рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрдкреА рдЧреИрдЬреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрд░
8. рд▓реЗрдЦрди рдпрд╛ рд╕рдордХрдХреНрд╖ рдЦреЛрдЬрдирд╛
рдЕрдВрдд рдореЗрдВ, рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреИрдЬреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдмрд╛рдЗрдирд░реА рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХреЗред рдФрд░ рдЗрд╕ рд╕рдордп 2 рддрд░реНрдХреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ rdx
рдХреЛ 0 рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП рддреАрди рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВ рдЬрд┐рдирдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
puts(data)
dprintf(fd, data)
write(fd, data, len(data)
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореВрд▓ рдкреЗрдкрд░ рдореЗрдВ рдХреЗрд╡рд▓ write
рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ:
рд╡рд░реНрддрдорд╛рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ PLT рдХреЗ рдЕрдВрджрд░ рд▓реЗрдЦрди рдХрд╛рд░реНрдп рдХрд╣рд╛рдБ рд╣реИ рдФрд░ рд╣рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕реЙрдХреЗрдЯ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ fd рдирдВрдмрд░ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдореЗрдВ PLT рддрд╛рд▓рд┐рдХрд╛ рдХрд╣рд╛рдБ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓реЗрдЦрди рдХреЛ рдЦреЛрдЬрдирд╛ рд╕рдВрднрд╡ рд╣реИред рдФрд░ рд╣рдо рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрдИ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдЙрдЪреНрдЪ FD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рдЙрди рдлрд╝рдВрдХреНрд╢рдиреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░:
'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0) + p64(0) + (PLT + 0xb) + p64(ENTRY) + STOP
-> рдпрджрд┐ рдбреЗрдЯрд╛ рдкреНрд░рд┐рдВрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкрдЯреНрд╕ рдорд┐рд▓ рдЧрдпрд╛ рдерд╛'A' * offset + canary + rbp + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP
-> рдпрджрд┐ рдбреЗрдЯрд╛ рдкреНрд░рд┐рдВрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдбреАрдкреНрд░рд┐рдВрдЯ рдорд┐рд▓ рдЧрдпрд╛ рдерд╛'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + (RIP + 0x1) + p64(0x0) + (PLT + 0xb ) + p64(STRCMP ENTRY) + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP
-> рдпрджрд┐ рдбреЗрдЯрд╛ рдкреНрд░рд┐рдВрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд▓реЗрдЦрди рдорд┐рд▓ рдЧрдпрд╛ рдерд╛
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЙрддреНрдкреАрдбрд╝рди
рд╕рдВрджрд░реНрдн
рдореВрд▓ рдкреЗрдкрд░: https://www.scs.stanford.edu/brop/bittau-brop.pdf
Last updated