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