Array Indexing
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
рдпрд╣ рд╢реНрд░реЗрдгреА рдЙрди рд╕рднреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреА рд╣реИ рдЬреЛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЛ рдПрд░реЗ рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд╛рдВрдХ рдХреЗ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╢реНрд░реЗрдгреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрджреНрдзрддрд┐ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╢реЛрд╖рдг рддрдВрддреНрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдордЬреЛрд░реА рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдХреБрдЫ рдЕрдЪреНрдЫреЗ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рд╡рд╣рд╛рдБ 2 рдЯрдХрд░рд╛рддреЗ рд╣реБрдП рдПрд░реЗ рд╣реИрдВ, рдПрдХ рдкрддреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдБ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ рдФрд░ рдПрдХ рдЙрд╕ рдбреЗрдЯрд╛ рдХреЗ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рдеред рдПрдХ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рдордирдорд╛рдирд╛ рдкрддрд╛ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ GOT рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ free
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрддрд╛ рд▓рд┐рдЦрдиреЗ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ system
рдХреЗ рдкрддреЗ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ /bin/sh
рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рд╕реЗ рдлреНрд░реА рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред
64 рдмрд┐рдЯ, рдХреЛрдИ nx рдирд╣реАрдВред рдПрдХ рдЖрдХрд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рдЬрд╣рд╛рдБ рд╣рд░ рдЪреАрдЬ рдХреЛ рдПрдХ рдбрдмрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рд╕реЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рддрдХ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдПрдХ рд╢реЗрд▓рдХреЛрдб рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬреЛ рдЙрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗ, рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреИрдирд░реА рдХреЛ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдВрддрддрдГ RIP рдХреЛ рдПрдХ рдкрддрд╛ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ ret рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬреЛ рдкрд┐рдЫрд▓реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдкрддреЗ рдХреЛ рдПрдХ рдирдП рдкрддреЗ рдкрд░ рд░рдЦрддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯреИрдХ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рд▓реАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рддрд╛рдХрд┐ ret рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╣рд╛рдБ рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
64 рдмрд┐рдЯ, рдХреЛрдИ relro рдирд╣реАрдВ, рдХреИрдирд░реА, nx, рдХреЛрдИ pie рдирд╣реАрдВред рд╕реНрдЯреИрдХ рдореЗрдВ рдПрдХ рдПрд░реЗ рдореЗрдВ рдПрдХ рдСрдл-рдмрд╛рдп-рд╡рди рд╣реИ рдЬреЛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ WWW (рдпрд╣ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рдкрддреЗ рдореЗрдВ рдПрд░реЗ рдХреЗ рд╕рднреА рдирдВрдмрд░реЛрдВ рдХрд╛ рдпреЛрдЧ рд▓рд┐рдЦрддрд╛ рд╣реИ)ред рд╕реНрдЯреИрдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ GOT exit
рдкрддрд╛ pop rdi; ret
рдХреЗ рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рд╕реНрдЯреИрдХ рдореЗрдВ main
рдХрд╛ рдкрддрд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ main
рдкрд░ рд╡рд╛рдкрд╕ рд▓реВрдк рдХрд░рддрд╛ рд╣реИ)ред рдПрдХ ROP рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ GOT рдореЗрдВ put рдХреЗ рдкрддреЗ рдХреЛ рд▓реАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ (exit
рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЗрд╕рд▓рд┐рдП рдпрд╣ pop rdi; ret
рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реНрдЯреИрдХ рдореЗрдВ рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛)ред рдЕрдВрддрддрдГ рдПрдХ рдирдИ ROP рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ ret2lib рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИред
32 рдмрд┐рдЯ, рдХреЛрдИ relro рдирд╣реАрдВ, рдХреЛрдИ рдХреИрдирд░реА рдирд╣реАрдВ, nx, pieред рд▓реАрдХ рдХрд┐рдП рдЧрдП libc рдФрд░ heap рдХреЗ рдкрддреЗ рдХреЛ рд╕реНрдЯреИрдХ рд╕реЗ рд▓реАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд░рд╛рдм рдЕрдиреБрдХреНрд░рдорд╛рдВрдХ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░реЗрдВред system('/bin/sh')
рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реБрдП ret2lib рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░реЗрдВ (heap рдХрд╛ рдкрддрд╛ рдПрдХ рдЬрд╛рдВрдЪ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ)ред