목록분류 전체보기 (205)
Bace
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/baQaZm/btqARX9MHYW/Qa3Z5hNQ8hp0vDPdkzE0K0/img.png)
문제는 다음과 같다. admin의 readme를 들어가면 access denied가 뜨고, guest의 hi~ 를 들어가면 hello~ 가 뜬다. search 란에 hi를 입력해보았더니, admin의 readme 가 뜬다. guest의 hi~ 의 내용이었던 hello를 입력해보니 hi~가 뜬다. 내용을 검색하면 그에 맞는 게시물이 나오는 것 같다. _ 를 통해 글자 수를 확인해보았더니 admin 의 게시물은 44글자라고 나왔다. 코딩을 통해 푸는 문제인 것 같다. 코드를 통해 글자수를 찾는 것부터 flag를 찾는 것까지 구현하였다. _를 통해 글자 수를 확인하고 첫번째 글자부터 마지막 글자까지 자동으로 찾아준다. 나온 값을 그대로 search : 에 쳐보았다. admin의 readme가 나온다. 하지만 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bDPapY/btqAWyUACRY/8EZN4QYyMFjESrgUHYiZ21/img.png)
문제는 다음과 같다. 소스를 보면 10000000 에서 99999999 사이의 수를 랜덤으로 뽑은 후 salt_for_you 라는 문자열을 뒤에 붙여주고, sha1로 500번 암호화 하는 것 같다. sha1은 복호화할 수 없으므로, 위의 소스와 똑같이 암호화하여 저장 후, grep을 통해 암호화된 문자열을 불러오는 식으로 문제를 해결하였다. solve
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bQmQu6/btqAQ3a7zU6/sPUKhqBkDculHgK325rG2k/img.png)
문제는 다음과 같다. secret.txt에 있는 내용을 가지고 guess와 비교해서 flag를 주는것 같다. 여기서 취약점은 extract($_GET) 이다. extract($_GET) 을 통해 GET으로 받아오는 인자를 초기화할 수 있다. 그래서 filename을 존재하지 않는 파일명으로 바꿔주고, 존재하지 않은 파일이므로 내용이 없을 것이라서 guess를 공백으로 넘겨주었다. flag가 떴다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/TkJpj/btqAUu50VQF/kNqKcJpUfghlE2ezK5Ck01/img.png)
문제를 보면 command에 http://google.com이라고 나와있고, google 페이지가 나온다. 그리고 File 이 flag.php 라고 나와있다. 검색 창에 flag.php 라고 써서 검색해보았다. page not found가 뜬다. command에 file:///flag.php 를 넣으면 될 것 같아 넘겨줘보았다. File이 flag.php 이라고 계속 그런다. command에 http://google.com 을 쳐서 google 페이지가 나온건가 싶어서 command에 flag.php를 넣어봤다. 똑같이 File이 flag.php라고 한다. flag 문자를 필터링 하는건가 싶어서 fflaglag.php로 우회해보았다. flag가 떴다.