본문 바로가기

CTF_/los.rubiya.kr19

[los.rubiya.kr] orc #4 [orc] 아래쪽의 if문을 보니 실제 비밀번호를 알아야 문제가 풀리는것 같다.우선 length와 substr함수를 이용해 blind sql injection을 하여 실제 비밀번호를 알 수 있을것 같다.?pw=' or length(pw)=숫자 --%20 을 하여 비밀번호의 길이를 알 수 있다.또한 ?pw=' or substr(pw,1,1)="문자" --%20 을 하면 비밀번호를 알 수 있다.직접 하긴 복잡하니 python requests모듈을 이용해서 직접 비밀번호를 구해보자. import requests for admin_len in range(99) : URL='http://los.rubiya.kr/orc_60e5b360f95c1f9688e4f3a86c5dd494.php' query={'pw': '\.. 2018. 8. 20.
[los.rubiya.kr] goblin #3 [goblin] 필터링이 생겼다. preg_match함수가 있어 ', ", ` 를 쓰지 못한다. 문제를 풀기 위해서는 id=admin인 값을 가져와야한다.?no=1 을 하니 Hello guest가 뜨는것을 보니 guest의 no는 1인것 같다. 아마 데이터베이스에 id는 guest와 admin 두개가 있을거 같으니?no=2 or no!=1 을 하면 문제가 풀릴것 같다 2018. 8. 19.
[los.rubiya.kr] cobolt #2 [cobolt] $result['id']=='admin' 이면 문제가 풀리는 문제이다.뒤에 비밀번호는 주석처리를 하면 되므로 신경을 쓰지 않아도 되고?id=' or id='admin' --%20 을 입력하면 id=admin인 값을 가져올수 있을것 같다. 2018. 8. 18.
[los.rubiya.kr] gremlin #1 [gremlin] result['id']를 가져오면 solve("gremlin") 함수가 실행되어 문제가 풀리게 된다.URL에 ?id=' or 1=1 --%20 을 쓰면 id를 가져올수 있을것 같다.%20을 쓰는 이유는 mySQL에서 -- 주석을 쓸때는 뒤에 한칸을 무조건 띄어줘야 하는데URL 인코딩표를 참고하면 %20은 띄어쓰기 이다. 2018. 8. 17.