LOS - gremlin
2020. 5. 2. 21:25ㆍWeb
위 php코드로 보았을때 해당 페이지에 get요청으로 id와 pw를 받아 query문에 집어넣은 후 받은 결과값의 키가 id인 부분이 있면 문제가 풀리는 것 같다.
if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); // do not try to attack another table, database!
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
이 코드로 몇개의 문자들이 query에 들어가는것을 막으려 하는데
_ , prob , . , () 들이 있는 것 같다.
위 같은 패턴들이 들어가지 않게 쿼리문을
select id from prob_gremlin where id='aaa' and pw='bbb' or 1='1'
처럼 만들어 주면
id = aaa and pw ='bbb' 이므로 쿼리가 참이된다.
따라서 아래와 같이 get파라미터를 넣어주면 문제가 풀린다.
최근 system보안을 공부하다가 웹해킹을 처음공부할때 문제가 떠올라 올리게 되었다.
'Web' 카테고리의 다른 글
LOS - darkelf (1) | 2020.05.05 |
---|---|
LOS - wolfman (1) | 2020.05.05 |
LOS-orc (0) | 2020.05.03 |
LOS-goblin (0) | 2020.05.02 |
LOS - cobolt (1) | 2020.05.02 |