#12

 - 이 할당에서 ORDER BY 필드를 통해 SQL 주입을 수행하십시오. webgoat-prd 서버의 IP 주소를 찾으십시오. 전체 IP       주소는 너무 오래 걸릴 수 있으므로 마지막 부분 인 xxx.130.219.202를 제공합니다.

 

 - 참고 :이 할당의 제출 필드는 SQL 주입에 취약하지 않습니다.

 

 

#제출필드는 sql을 쓰는것이 아닌 것 같다. 버프슈트로 잡아서 요청값을 보자.

 -  hostname을 GET방식으로 인자 전달을 하는 것을 확인했다.

 

 

#test 테이블 존재여부 검사

 - (case+when+exists(select+ip+from+test+where+hostname%3d'webgoat-prd')+then+ip+eles+id+end)

  -> test 테이블에서 ip 컬럼에 hostname이 'webgoat-prd'가 있으면 ip기준으로 정렬, 없으면 id 기준으로 정렬

 

 - 500에러(서버내부에러)가 출력되는 것을 보아, test테이블이 존재하지 않는다.

 - 좌측 상단에 인자가 servers?column= 인 것으로 보아 servers 테이블인 것 같다.

 

 

#servers 테이블로 수정

 - ip기준으로 잘 정렬된 것을 볼 수 있다.

 

 

#webgoat-prd가 servers 테이블에 존재한다는 것을 알았지만, 출력은 되지 않는다.

#유효성 검사를 위해 sql문을 사용하여 반응을 유도하자.

 - (case+when+exists(select+ip+from+servers+where+hostname+=+'webgoat-                                                      prd'+and+substring(ip,1,1)='1')+then+ip+else+id+end)

  -> 해당 sql문을 사용하여, webgoat-prd의 ip 첫째자리부터 검사하여 반응을 유도한다,

 

 - 해당 사진은 1번째 자리가 '1'이 맞아서 ip기준으로 정렬된 모습이다.

 - 문제에서 앞 세자리만 구하라고 했으므로, 30번 안으로 답을 구할 수 있다.

 

#end

 

 

 

 

'Web > WebGoat' 카테고리의 다른 글

[WebGoat] Insecure Login  (0) 2021.06.06
[WebGoat] (A7)Cross Site Scripting - 7,10,11  (0) 2021.06.05
[WebGoat] General - HTTP Basics  (0) 2021.06.05
[WebGoat] Challenges - Without account  (0) 2021.05.31
[WebGoat] Challenges - Without password  (0) 2021.05.31

+ Recent posts