�ڋq�f�[�^�����ׂē��܂��H�I�`OS��f�[�^�x�[�X�ւ̍U���`�FWeb�A�v���P�[�V�����ɐ��ރZ�L�����e�B�z�[���i2�j�i2/2 �y�[�W�j

» 2003�N06��05�� 00��00�� ���J
[�����T�C�O�䕨�Y�Z�L���A�f�B���N�V����]
�O�̃y�[�W�� 1|2 �@�@�@�@�@�@

OS Command Injection�iOS�R�}���h�̑}���j

�@�ʏ탊���[�g����T�[�oOS�̃R�}���h�����s���邽�߂ɂ́Atelnet��ssh�Ȃǂ��g���ă��O�C�����āA�R�}���h�����s����B�ʏ�Web�T�[�o�ł́A�����̃T�[�r�X�������Ă����Ƃ��Ă����������Ǘ��p�ŁA����ł��g����悤�ɂ͂Ȃ��Ă��Ȃ��͂����B

�@�����ŁAtelnet��ssh�ł͂Ȃ�Web�A�v���P�[�V�������o�R����OS�R�}���h�����s���Ă��܂����A�Ƃ����̂����̍U�����B

�@OS�R�}���h�����s���邱�Ƃ��ł���΁A�C�ӂ̃t�@�C���̓ǂݏo���E�ύX�E�폜�AOS��f�[�^�x�[�X�̃p�X���[�h�R�����A�ň��̓T�[�o�̊Ǘ��Ҍ����܂ŒD���Ă��܂��ȂǁA��Q�͌v��m��Ȃ��B

�@�قƂ�ǂ̃v���O��������ɂ́A�O���R�}���h�����s������@���p�ӂ���Ă���B

Perl exec()
system()
`command`
PHP exec()
system()
shell_exec()
passthru()
popen()
`command`
Java java.lang.Runtime.exec()
C���� exec()
system()
�\2 �e�v���O��������̊O���R�}���h�̎��s���@

�@�A�v���P�[�V�������ŊO���R�}���h���g�������Ƃ��ɂ͂����̕��@�𗘗p���邱�ƂɂȂ�̂����A�g���������ƈӐ}���Ă��Ȃ��R�}���h�܂Ŏ��s����Ă��܂����ƂɂȂ�B

void 
CommandExec(String filename) throws IOException{
Process process = Runtime.getRuntime().exec("cat ../html/"+filename+".html"); 
// �� exec �R�}���h
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while((line=reader.readLine()) != null){
System.out.println(line);
}
}
���X�g2 �O���R�}���h���Ăяo��Java�v���O����

�@exec���\�b�h���g���ăR�}���h�����s���Ă���Bfilename�Ƃ����p�����[�^�[���g���Ă��邪�A����Ƀ��[�U�[���͒l���g���Ă���ꍇ�댯�ƂȂ�B

�@�܂��A�O��Љ��Path Traversal�̖�肪����̂�������Bfilename��../../admin/secret�Ɠ��͂����ƁA�ق��̃f�B���N�g�����̃t�@�C�����\������Ă��܂��B

�@����ł́Afilename�ɂ���ȃp�����[�^������Ƃǂ��Ȃ邾�낤���H

`uname -a>/tmp/out.html;echo ../../../../../../tmp/out`

���̏o�͎͂��̂悤�ɂȂ�B

Linux 
okd 2.4.20-13.9 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux

�@�‚܂�A��L�p�����[�^�̒��Ŏw�肵��uname -a�Ƃ����R�}���h�̎��s���ʂ��o�͂����B�����ł́u`�i�o�b�N�N�I�[�g�j�v���g����OS�R�}���h�����s���������A�ق��ɂ��A

command 
; badcommand
command && badcommand
command | badcommand

�ȂǂƂ�������@�ŁA���ӂ̂���R�}���h�����s�ł���ꍇ������B

�@�΍�́A��������͒l�`�F�b�N�ƃT�j�^�C�W���O���B���͒l�`�F�b�N���m���ɍs���A����������蔲���Ă��܂����ꕶ���ɂ‚��ăT�j�^�C�W���O���s���B�eOS��R�}���h���̃p�����[�^���g�p����ꏊ�ɂ���Ē��ӂ���K�v��������ꕶ�����قȂ�̂ŁA�������Ȃ��悤�ɂ��Ă������������B

| ! & ` �R�}���h�̎��s�Ɏg����
x00 Null�����B�������t�@�C�����𒆒f����
x20 �󔒕����B�p�����[�^�̋�؂�Ɏg����
x04 EOT�����B�t�@�C���̏I���Ɏg����
x0D x0A ���s�����B�lj��R�}���h�̎��s�A���[���̋U���A�t�@�C���̕ύX�Ɏg����
x1B �G�X�P�[�v����
x08 �o�b�N�X�y�[�X�����B���O�t�@�C���̋U���A�t�@�C���̕ύX�Ɏg����
x7F �폜����
" ' ������̋�؂�Ɏg����
/ - �p�����[�^�̎w��Ɏg����
* ? ���K�\���Ŏg����
~ . / �f�B���N�g���w��Ɏg����
�t�@�C������Ɏg����
$ �‹��ϐ��̎Q�ƂɎg����
( { [ ] } ) �R�}���h�̋�؂�Ɏg����
�\3 UNIX�nOS�R�}���h�ł̓��ꕶ��

; | & �R�}���h�̎��s�Ɏg����
x00 Null�����B�������t�@�C�����𒆒f����
x20 �󔒕����B�p�����[�^�̋�؂�Ɏg����
x04 EOT�����B�t�@�C���̏I�����U������
x0A x0D ���s�����B�lj��R�}���h�̎��s�A���[���̋U���A�t�@�C���̕ύX�Ɏg����
x1b �G�X�P�[�v����
x08 �o�b�N�X�y�[�X�����B���O�t�@�C���̋U���A�t�@�C���̕ύX�Ɏg����
x7f �폜����
" ������̋�؂�Ɏg����
/ - �p�����[�^�̎w��Ɏg����
* ? ���K�\���Ŏg����
. \ �f�B���N�g���w��Ɏg����
�t�@�C������Ɏg����
% �‹��ϐ��̎Q�ƂɎg����
�\4 DOS�nOS�R�}���h�ł̓��ꕶ��

�@���ӂ���K�v������̂��A���ڊO���R�}���h���Ăяo�����߂�API�������Ƃ����Ƃ����ł͂Ȃ��B�ق���API�ł��A�O���R�}���h�����s�ł�����AAPI�����I�ɊO���R�}���h���Ăяo���Ă���ꍇ������B

�@���X�g3�́A�O��ڂ����t�@�C����ǂݏo���ďo�͂���Perl�v���O�����ł���B

#!/usr/bin/perl 
# �w�b�_�����̏o��
&print_header�i�j; 
# ���C���R���e���c�̏o��
open FILE, "$PARAMETER{file}.html";
while�i<FILE>�j{
print;
} 
# �t�b�^�����̏o��
&print_footer�i�j;
���X�g3 �t�@�C����ǂݏo��Perl�v���O����

�@�O��Ō�ɁuPath Traversal�̖�肾���łȂ�����Ɋ댯�ȃZ�L�����e�B�z�[�����܂�ł���v�Ƃ������A�����ɂ�OS Command Injection�̖�肪����B

�@Perl��open�֐��ɂ́A�t�@�C�����̐擪�Ɂu|�v������ꍇ�́A�t�@�C�������R�}���h���Ɖ��߂��Ď��s����A�Ƃ����@�\������B��������p���A

|cat+/etc/passwd%00

�Ƃ����l���p�����[�^�ɂ킽�����Ƃɂ���āA

cat /etc/passwd

�Ƃ����R�}���h�����s����邱�ƂɂȂ�B

�@���̂悤�ȉB�ꂽOS�R�}���h�Ăяo��API�����ׂĔc�����Ă����̂́A���̌���̎����܂ŏڍׂɒm���Ă���l�ȊO�ɂ͓�����낤�B�T�j�^�C�W���O���悤�ɂ��A�ǂ̕��������ꕶ���Ȃ̂����c��������Ȃ��B���̂��߂ɂ��A���͒l�`�F�b�N�̒i�K�ň��S�ȕ��������ɐ������Ă��������B


�@����́A�ł��댯�Ǝv����SQL Injection��OS Command Injection�ɂ‚��ďЉ���B�o���Ƃ���{�I�ɂ͓��͒l�`�F�b�N�ƃT�j�^�C�W���O�ŏ\������ł���B�����̑΍��XSS�Ɠ��l�Ɏ��ۂ̃v���O���~���O���s���v���O���}�̐ӔC�ł��邩��A��������Ƒ΍�����Ă����Ă������������B

�@����́A�v���O���~���O�ȑO�̐݌v�i�K�Ő��荞�ރZ�L�����e�B�z�[���ɂ‚��Đ�������B

���ҏЉ�

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

�O�䕨�Y�Z�L���A�f�B���N�V�����Ζ��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�Z�L���A�f�B���N�V����

��Ɂ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



�O�̃y�[�W�� 1|2 �@�@�@�@�@�@

Copyright © ITmedia, Inc. All Rights Reserved.

'; 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�[�}

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