���镪����SQL�C���W�F�N�V�����΍��FSecurity&Trust �E�H�b�`�i42�j

» 2006�N11��02�� 10��00�� ���J
[�����C��IT]

�y�֘A�L���z

�{���e�ɂ‚��ẴA�b�v�f�[�g�L�������J���Ă��܂��B���킹�Ă��m�F���������i�ҏW���j

Security&Trust�E�H�b�`�i60�j
���邱���킩����S��SQL�̌Ăяo���� �` ���؍_�����ɕ����Ă݂�

http://www.atmarkit.co.jp/fsecurity/column/ueno/60.html


�@Web�A�v���P�[�V�����ɑ΂���U����@��1�‚ł���SQL�C���W�F�N�V�����̑��݂́A���Ȃ�L���m����悤�ɂȂ����B�������A���̑΍�͂܂��{���ɗ�������Ă��Ȃ��悤�Ɏv����B�t�H�[������n���ꂽ�l�̓��ꕶ�����G�X�P�[�v������APHP��magic_quotes_gpc�Ƃ����������G�X�P�[�v�@�\���I���ɂ��邾���ő΍􂵂��‚���ɂȂ��Ă��Ȃ����낤���B

�@��{�͂������A�Z�J���h�I�[�_�[SQL�C���W�F�N�V������}���`�o�C�g�����𗘗p����SQL�C���W�F�N�V�����̍U���p�^�[����A���̑΍�Ȃǂ��������Ă݂悤�B

SQL�C���W�F�N�V�����̊�{

�@SQL�C���W�F�N�V�����iSQL Injection�j��Web�A�v���P�[�V�����ɑ΂���U����@��1�‚ŁASQL���g���ĕs���Ƀf�[�^�x�[�X�𑀍삷�邱�Ƃ�ړI�Ƃ��Ă���BSQL�Ƃ����̂́A�f�[�^�x�[�X�𑀍삷�邽�߂Ɉ�ʓI�Ɏg���Ă��錾��ł���B

�@����SQL�C���W�F�N�V�����ɂ��U���́A�����̐Ǝ㐫�񍐃u�[���i�H�j�̈�[��S����@�ł���A��񏈗����i�@�\�iIPA�j�ɓ͂��o��ꂽWeb�A�v���P�[�V�����̐Ǝ㐫�֘A���i2006�N9���܂Łj�ɂ��ƁA��1�ʁi41%�j�̃N���X�T�C�g�X�N���v�e�B���O�ɑ����āA��2�ʁi21%�j��SQL�C���W�F�N�V�����ł���BWeb�A�v���P�[�V�����Ɍg����Ă��āA���̌��t��m��Ȃ��l�͂��Ȃ菭�Ȃ��Ȃ����i�Ǝv�������j�B

�@SQL�C���W�F�N�V�����̐Ǝ㐫���������A�v���P�[�V�����̂悭�����Ƃ��Ă͎��̂悤�Ȃ��̂ł���B

�@����́A���[�U�[���ƃp�X���[�h����͂��ă��O�C�����鏈���̈ꕔ�ł���Buid��pwd�̑g�ݍ��킹���A�f�[�^�x�[�X�̂��̂ƈ�v����ƔF�؂���Ƃ����d�g�݂��Ƃ���B

SELECT * FROM user WHERE uid='$uid' AND pwd='$pwd' 

�@���[�U�[����̓��͂́A���[�U�[����$uid�A�p�X���[�h��$pwd�ɓn�������̂Ƃ���B�����ŁA�ȉ��̂悤�ȓ��͂��������ꍇ�̋������l���Ă݂悤�B

�@$uid�@�@ �F�@�@ueno

�@$pwd�@�@�F�@�@' OR 'A'='A


�@�������͂����SQL�͈ȉ��̂悤�ɂȂ�B

SELECT * FROM user WHERE uid='ueno' AND pwd='' OR 'A'='A'

�@���ꂪ���s������OR�̌�͏�ɐ^�Ȃ̂ŁA�p�X���[�h���قȂ�ɂ�������炸�F�؂���Ă��܂��Ƃ������ۂ��N���Ă��܂��B

�@�����Ŏ��グ���F�؂̉���ȊO�ɂ��ASELECT��DELETE�Ƃ�����SQL��p�����s���ȃf�[�^�x�[�X���삪���s�ł��Ă��܂��”\��������B�e�[�u�����Ȃǂ�������Ȃ��ꍇ�ł��A�T�u�N�G���[�𗘗p���đ��݂���e�[�u���������ł���ꍇ������B

�y�֘A�����N�z�B����Ă���SQL�C���W�F�N�V����

http://www.atmarkit.co.jp/fsecurity/rensai/hoshino09/hoshino01.html


�@���̖��̑΍�Ƃ��ẮA���͒l�ɂ͔��p�p�����݂̂����‚���悤����������@��A�ȉ��̗�̂悤��SQL�Ŏg������ꕶ�����G�X�P�[�v���đΏ�����Ƃ������@����ʓI�ɂȂ��Ă���B

�@' �@�@�@���@�@''

�@\�@�@�@���@�@\\

�y���z

�u\�v���g�����Ă�RDBMS�ł́u\\�v�ƃG�X�P�[�v����K�v������


�@���̑΍􎩑̂̕������͐������̂����ASQL�C���W�F�N�V�����𗝉����Ă��Ȃ����߁A�΍􂪘R��Ă���ꍇ������B

�Z�J���h�I�[�_�[SQL�C���W�F�N�V����

�@SQL�C���W�F�N�V�����΍�Ƃ��āA���͒l��K�؂ɃG�X�P�[�v����Ƃ����΍���s�����A���́u���͒l�v�����Ȃ̂��ԈႦ�Ă�����A�`�F�b�N���R��Ă���ꍇ�����΂��Ό��󂯂���B�܂��AHTML�𐶐�����i�K�ŃG�X�P�[�v����΂悢�ƍl���Ă���l�����󂯂��邪�A������ԈႢ�ł���B

�@�t�H�[���ɓ��͉”\�ȕ����������΍���ł͂Ȃ��B�s���ȓ��͂̉”\�����l����K�v������̂́AGET��POST�Ȃǂ̃N�G���[��Cookie�̒l�AHTTP�w�b�_�ȂǁAHTTP�o�R�ő����Ă�����́g���ׂāh�ƁA����ɉ����ăf�[�^�x�[�X��t�@�C���Ȃǂɕۑ����ꂽ�f�[�^���Ăяo���ۂɂ��΍��ӂ��Ă͂Ȃ�Ȃ��B�����ɖ�肪����ƁA�Z�J���h�I�[�_�[SQL�C���W�F�N�V�����ƌĂ΂��Ǝ㐫�����‚��ƂɂȂ�B

�@���̂悤��$uid�̒l���󂯕t�����Ƃ��Ɂu'�v���u''�v�Ƃ��ăG�X�P�[�v���ăf�[�^�x�[�X�ɕۑ������Ƃ���B

�@$uid�@�@�F�@�@�@ueno' union�c�c


�C���[�W�}

�@��������G�X�P�[�v���ēo�^���Ă��A���Ƀf�[�^�x�[�X����Ăяo�����ۂɂ́A�G�X�P�[�v����Ă��Ȃ����̃f�[�^���Ăяo����邱�ƂɂȂ�B���̕������SQL�Ɏg�p���Ă��܂��ƁA������SQL�C���W�F�N�V�������������Ă��܂��B

�@���͂������_�ł����Ɍ��͂𔭊������ɁA���ɃA�v���P�[�V�����ŗ��p���ꂽ�Ƃ��Ɍ��͂𔭊����邱�̍U�����Z�J���h�I�[�_�[SQL�C���W�F�N�V�����ƌĂԁB

�V���O���N�I�[�e�[�V�������g��Ȃ�SQL�C���W�F�N�V����

�@SQL�C���W�F�N�V�����΍�Ƃ����ƁA�u'�v�i�V���O���N�I�[�e�[�V�����j�̈����΂��肪���ڂ���邪�A�u'�v���g��Ȃ��Ă���������U��������B

�@�ȉ��̗�����Ă݂悤�B

SELECT name FROM user where uid = '$uid' AND age > $age

�@����SQL�ɓn�����$uid��$age�̓��ꕶ���́A�K�؂ɃG�X�P�[�v����Ă���Ƃ��悤�B�����Ɏ��̂悤�Ȓl��n���B

�@$uid�@ �@�F�@�@ueno

�@$age�@�@�F�@�@31 UNION�c�c


�@�������͂����SQL�͈ȉ��̂悤�ɂȂ�B

SELECT name FROM user where uid = 'ueno' AND age > 31 UNION�c�c

�@��������s�����UNION�ȍ~��SQL�����s����Ă��܂����ƂɂȂ�B���̖��́Aage�̒l���V���O���N�I�[�e�[�V�����ň͂��Ă��Ȃ��������Ƃ������ł���B�ȉ��̂悤�Ɉ͂��Ă���΁A���̖��͋N���邱�Ƃ��Ȃ��i�������A���l�ȊO�͎󂯕t���Ȃ��Ƃ����O�i�K�̏������~�����j�B

SELECT name FROM user where uid = '$uid' AND age > '$age'

�}���`�o�C�g�����̖��

�@�}���`�o�C�g�����Ƃ����̂́A�V�t�gJIS��EUC-JP�Ȃǂ�2�o�C�g�����Ȃǂ̂��Ƃ��w���B���̃}���`�o�C�g������K�؂ɏ������Ȃ��Ǝv��ʂƂ����SQL�C���W�F�N�V�������������邱�Ƃ�����B

�@PHP�Ȃ��addslashes()�Ƃ������֐����g���āA�t�H�[������󂯎�������͒l�Ɋ܂܂��u'�v���u\'�v�ƒu������Ȃǂ̏���������SQL�C���W�F�N�V�����ɂ��U����������悤�Ƃ��邩������Ȃ��B

�@�ȉ��̗�����Ă݂悤�B

�@\x97' OR A=A�@�@�@���@�@�@�\' OR A=A


�@�u\x97' OR A=A�v��O�q�̂悤�Ɂu'�v���u\'�v�ƃG�X�P�[�v���ď������Ă݂�ƁA�u�\' OR A=A�v�ƕϊ�����邱�Ƃ�����B����̓V�t�gJIS�̊‹��Ŕ������錻�ۂ��B

�@���̌��ۂ��ڂ������Ă݂悤�B

�@\x97' �� \x97\'


�@�|�C���g�ƂȂ�̂́u\x97'�v�̕����ŁA����́u'�v���G�X�P�[�v���邽�߂Ɂu\'�v�ƒu������Ɓu\x97\'�v�ƂȂ�B

�@�u\'�v�̕������G���R�[�h���Ă݂�ƁA�u\x5C\x27�v�ƂȂ�A�S�̂ł́u\x97\x5C\x27�v�ƂȂ�B

�@\x97\x5C\x27 �� �\'


�@����𕶎��ɖ߂��ƁA��O����u\x97\x5C�v��2�o�C�g�����Ƃ��Ĉ����āu�\�v�ƂȂ�A�u\x27�v��1�o�C�g�����Ƃ��Ĉ����Ă��܂��u'�v�ƂȂ�B

�@�\' OR A=A


�@���ʂƂ��āA�u'�v���u\'�v�ƃG�X�P�[�v�����͂��Ȃ̂ɁA�u'�v���c���Ă��܂��Ƃ������ۂ��N����B

�@�V�t�gJIS��2�o�C�g���������A���ɂ�2�o�C�g�ڂ�1�o�C�g�����̕����R�[�h���܂񂾕���������B���̂��߂ɂ��̂悤�Ȍ��ۂ��N����B

�@\x94\x5C �� �\

�@\x95\x5C �� �\

�@\x96\x5C �� �\


�@�u\x97'�v�̑g�ݍ��킹�ȊO�ɂ������̃p�^�[�����l������B�u'�v���u''�v�ƃG�X�P�[�v���Ă���ꍇ�ɂ����l�̌��ۂ��N����”\��������B

�@�����������邽�߂ɂ́A�N���C�A���g���̕����R�[�h�ɃV�t�gJIS���g���̂���߂�EUC-JP�Ȃǂ��g���Ƃ������@���悢�B

�@�������A������ɂ�蕶���R�[�h��ύX�ł��Ȃ��Ƃ����ꍇ�����邩������Ȃ��B���̏ꍇ�ɂ́A���[��1�o�C�g�������󂯕t���Ȃ��������������A�ȉ��̂悤�Ƀ}���`�o�C�g�������֐���ʂ��āA�����R�[�h�𐮗�����Ƃ����������B

  • Perl�̏ꍇ �FEncode::from_to($str, "sjis","sjis");
  • PHP�̏ꍇ �Fmb_convert_encoding($str, 'SJIS', 'SJIS')

�@PHP�Ȃǂŗp�ӂ���Ă���magic_quotes_gpc�Ƃ����������G�X�P�[�v�̋@�\���L���ɂȂ��Ă���ꍇ�ɂ͓��ɒ��ӂ��K�v�ł���B�v�������Ȃ��Ƃ���ŁA���̂悤�Ȍ��ۂ���������]�n���c���Ă���”\��������B�ł��邾���S�̂ɗL���Ȏ����G�X�P�[�v�̋@�\�͖����ɂ��āA�K�v�Ȍ���K�؂ɃG�X�P�[�v�������邱�Ƃ��d�v�ł���B

�@���̃}���`�o�C�g�̖���SQL�C���W�F�N�V�����ȊO�ɁA�N���X�T�C�g�X�N���v�e�B���O�Ȃǂ̍U���ɂ����p�ł���̂ő΍�̍ۂɂ͌����Ƃ����Ȃ��悤�ɒ��ӂ��Ă������������B

�y�֘A�����N�z�}���`�o�C�g�̗��Ƃ����}���`�o�C�g�̗��Ƃ��� http://www.atmarkit.co.jp/fsecurity/rensai/hoshino10/hoshino01.html


SQL�C���W�F�N�V�����΍�

�@SQL�C���W�F�N�V�������͂��n�߂�2005�N����ɔ�ׂ�ƁA���̎���͋Â������̂ɂȂ�‚‚���B����͂���ɍI���Ȏ��������Ă���”\��������BSQL�C���W�F�N�V�����΍�̃|�C���g���������Ă݂悤�B

��Web�A�v���P�[�V�����̑΍�

  • SQL�𖄂ߍ��ނƂ���œ��ꕶ����K�؂ɃG�X�P�[�v
  • �V�t�gJIS�̏ꍇ�ɂ�1�o�C�g�����𐮗�
  • SQL�̋L�q���Ȃ������߂�O/R�iObject/Relational�j�}�b�s���O�����p
  • �U���҂ɖ𗧂���^���Ȃ����߂ɁA�s�v�ȃG���[���b�Z�[�W�i�f�[�^�x�[�X���o�͂���G���[�Ȃǁj�̕\����}�~
  • �o�C���h���J�j�Y���̗��p

Web�A�v���P�[�V��������̑΍�

  • WAF�iWeb Application Firewall�j�ɂ��s���ȕ����̌��o�E�h��i�������́A�z���C�g���X�g�ɂ��ʉ߂̋��j
  • IDS�iIntrusion Detection System�j�AIPS�iIntrusion Prevention System�j�Ȃǂɂ��s���ȕ����̌��o�E�h��

�f�[�^�x�[�X�̑΍�

  • �A�J�E���g�����ƌ����̍ŏ����ɂ��K�؂ȃA�N�Z�X����
  • �Ǘ��҃A�J�E���g�Ȃǂ̉z�������邽�߂ɕK�v����K�؂ɈÍ���
  • ������̐N���̍ۂɌ��؉”\�Ȃ悤�Ƀ��O��K�؂Ɏ擾

�@���܂���\�[�X�R�[�h�Ɏ�����邱�Ƃ͂ł��Ȃ����A�V�X�e���͐������Ȃ���΂Ȃ�Ȃ��Ƃ����󋵂ł́AWAF�̓����͌��ʂ�����͂��ł���B

�@�܂��A�ǂ��1�‚����Ō���I�Ȏ�i�Ƃ����킯�ł͂Ȃ��̂ŁA�΍�̍ۂɂ͕��p���ăZ�L�����e�B���x�������߂邱�Ƃ������߂���B


�@�����SQL�C���W�F�N�V�����ɓ������Đ������Ă���̂ŁA�΍��SQL�C���W�F�N�V�������S�ɍs���Ă����B�������A�N���X�T�C�g�X�N���v�e�B���O�Ȃǂق��̃Z�L�����e�B�΍�������Ď��{���Ă������������B

Profile

��� ��i������ ����j

������Ѓg���C�R�[�_��\�����

�l�b�g���[�N�E�Z�L�����e�B�č��A�Z�L�����e�B�΍�E�^�p���P�R���T���e�B���O����ȋƖ��Ƃ��Ă���B

���Z�L�����e�B�𐢂ɍL����ׂ��A�u���⎷�M�����Ƃ��܂��܂ȕ��ʂŊ������B�ߒ��Ɂu����킩�郁�[���v���g�R���v�A�u����킩��TCP/IP�v�A�u����킩��HTTP�v�i�����ĉj�Ёj������B�l�u���O�́u���������w���L�v


���C������

�y2006/11/2�z

�{������SQL�Ŏg������ꕶ�����G�X�P�[�v��ɂ‚��āA���L�Ƃ��āu�u\�v���g�����Ă�RDBMS�ł́u\\�v�ƃG�X�P�[�v����K�v�������v��NjL�������܂����B

�܂��A�Z�J���h�I�[�_�[SQL�C���W�F�N�V�����̍��ɂ�����G�X�P�[�v����u\'�v����u''�v�֏C���������܂����B

�y2006/11/6�z

SQL�C���W�F�N�V�����΍�AWeb�A�v���P�[�V�����̑΍�ɂ‚��āA�u���͒l��SQL�̓��ꕶ����K�؂ɃG�X�P�[�v ���͒l���v���O�����i�v���Z�X�j�ɊO����������Ă������ �v���uSQL�𖄂ߍ��ނƂ���œ��ꕶ����K�؂ɃG�X�P�[�v�v�ɏC�����A�u�o�C���h���J�j�Y���̗��p�v��NjL�������܂����B


�uSecurityTrust �E�H�b�`�v�o�b�N�i���o�[

Copyright © ITmedia, Inc. All Rights Reserved.

�A�C�e�B���f�B�A����̂��m�点

�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

���́uAI�R�[�f�B���O�v�͖{���ɕK�v���H
Microsoft �� Windows�őO��2026
4AI by ��IT - AI�����A�������A���A������
���[�R�[�h�^�m�[�R�[�h �Z���g���� by ��IT - IT�G���W�j�A���r�W�l�X�̒��S�Ŋ��􂷂�g�D��
Cloud Native Central by ��IT - �X�P�[���u���Ȕ\�͂�g�D��
�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