���̋L���͉������ł��B����o�^�i�����j����ƑS�Ă������������܂��B
�@Web�A�v���P�[�V�����̃Z�L�����e�B�z�[�������ڂ𗁂т����Ƃ���A�Z�L�����e�B���ӎ������J���̕K�v�������܂��Ă��Ă���B����̗���Ƃ��āA�Z�L�����e�B�㖞�����ׂ����ڂ��v����`�̒i�K����g�ݍ��܂��P�[�X�������Ă������Ƃ��\�z����邪�A���ۂ̊J������ɂ����Ă̓Z�L�����e�B�z�[�����ӂ������߂̎������@��������Ȃ��Ƃ������������̂ł͂Ȃ����낤���B
�@�����������J���҂̕��S�������ł��y�����邱�Ƃ��ł���悤�ɁA�{�A�ڂł�Java�ɂ�����Web�A�v���P�[�V�����J�����ɍł��悭���p����Ă���Struts�t���[�����[�N�̎����ɓ��ݍ���ŁA�Z�L�����e�B�㒍�ӂ��ׂ��|�C���g��������Ă��������B�Ȃ��A�{�A�ڂł�Struts 1.2.8��ΏۂƂ��ĉ�����s���Ă������A���ł�Struts�𗘗p����Web�A�v���P�[�V�����J�����s���Ă���J���҂��^�[�Q�b�g�Ƃ��Ă��邽�߁AStruts�̎g�p���@�A�e�@�\�̏ڍׂȐ����Ȃǂ͊�������B
�y�Q�l�A�ڋL���z
Web�V�X�e���̃Z�L�����e�B�v���i���}�l�W�����g�j
Struts���g��Web�A�v���P�[�V�����\�z�p�iJava Solution�t�H�[�����j
�@����́A�N���X�T�C�g�X�N���v�e�B���O�iCross Site Scripting�FXSS�j�̐Ǝ㐫�Ɋւ����{�I�Ȏ�����̒��ӓ_��������Ă������B�ڍׂɂ��Ắu�N���X�T�C�g�X�N���v�e�B���O��̊�{�v�ɂ�����������Q�Ƃ��Ă��������Ƃ��āA�Ȍ��ɏq�ׂ�ƃN���X�T�C�g�X�N���v�e�B���O�Ƃ̓��[�U�[�̓��͒l����ɓ��I��HTTP���X�|���X������A�v���P�[�V�����ɂ����āA���͒l�Ƃ��ēn���ꂽ�X�N���v�g�R�[�h��Web�u���E�U��œ��삷�邱�ƂɋN������Ǝ㐫�̂��Ƃł���B
�@���̐Ǝ㐫���甭�������Q�́A
�Ȃǂ��܂��܂ł���B��̊�{�ƂȂ�̂́AHTML�G���R�[�h�AURL�G���R�[�h�ƌĂ��G�X�P�[�v������K�ɍs�����Ƃł���B
�@�N���X�T�C�g�X�N���v�e�B���O�̖��́AHTML���ꕶ�����G�X�P�[�v�����đ邱�Ƃ���{�ł���B�G�X�P�[�v���K�v��HTML��̓��ꕶ���Ƃ́A
�u<�v�u>�v�u&�v�u"�v�u'�v
�Ȃǂł���B���I�ȃp�����[�^��HTML�ɏo�͂���ꍇ�ɂ́A���������ȈӖ��������Ȃ�������ɕϊ�����HTML�G���R�[�h�������K�{�ƂȂ�B
�@Struts���g�p���ē��I�ȃp�����[�^�������ꍇ�ɂ́AView�R���|�[�l���g�ł���Struts�J�X�^���^�O���C�u�������g�p���邱�Ƃ��������낤�BStruts�J�X�^���^�O���C�u�������g�p����ۂ�HTML�G���R�[�h������K�ɍs���ɂ́A�ǂ̂悤�Ȓ��ӂ��K�v�ƂȂ邾�낤���B��\�I�ȃJ�X�^���^�O�ł���bean:write�^�O���g�p�����ۂ̓�������Ȃ���m�F���Ă������B
�@�܂��A���͂��ꂽ�R�����g��\�����邾���̒P����Web�A�v���P�[�V�������쐬���Ă݂�B
<%@page contentType="text/html; charset=Shift-JIS" pageEncoding="Shift_JIS" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <html:html> <head> </head> �@<body> �@<html:form action="BeanWrite.do"> �@�@�R�����g����͂��Ă��������B �@�@<html:text property="comment" /><br> �@�@<br> �@�@���͂��ꂽ�R�����g�F �@�@<bean:write name="TestForm" property="comment" /><br> �@�@<html:submit value="���M"/> �@</html:form> �@</body> </html:html> |
beanWrite.jsp |
�@�쐬����Web�A�v���P�[�V�����ɑ��A�X�N���v�g�Ƃ��ē��삷��l����͂��đ��M�{�^�����������Ƃ���A�ȉ��̂悤�ȉ�ʂ��\�����ꂽ�B
�@�X�N���v�g�͓��삹���A�u<script>alert('XSS')</script>�v�Ƃ����l�����̂܂o�͂���Ă���BbeanWrite.jsp���HTML�G���R�[�h�Ɋւ�����ʂȋL�ڂ͂��Ă��Ȃ����A���1��HTML�\�[�X�͈ȉ��̂悤�ɂȂ��Ă���A�����I�ɉ��炩�̏������s���Ă��邱�Ƃ͊ԈႢ�Ȃ����낤�B
<html> <head> </head> �@ <body> �@ <form name="TestForm" method="post" action="/WebAppSec/BeanWrite.do"> �@�@ �R�����g����͂��Ă��������B �@�@ <input type="text" name="comment" size="50" value="<script>alert('XSS')</script>"><br> �@�@ <br> �@�@ ���͂��ꂽ�R�����g�F �@�@ <script>alert('XSS')</script> �@�@ <br> �@�@ <input type="submit" value="���M"> �@ </form> �@ </body> </html> |
���1��HTML�\�[�X |
Copyright © ITmedia, Inc. All Rights Reserved.