본문 바로가기

sql인젝션3

[SQL 인젝션] LORD OF SQLINJECTION - cobolt 풀이 아이디를 1로 참으로 만들어버리면 "너는 관리자가 아니야" 라고 나온다. 자세히 읽어보면 아래에 if($result['id'] == 'admin') solve("cobolt"); 아이디가 admin 이라고 친절하게 나와있다. ?id=admin'%23 아이디에 어드민을 넣고 뒤를 주석 처리 해버리니 바로 클리어! %23이 궁금하다면 전 게시글에 첨부했지만 url encoding 검색~ 2022. 2. 20.
[SQL 인젝션] LORD OF SQLINJECTION - gremlin 풀이 데이터베이스 -> 테이블 ->컬럼들- > 필드 정보 테이블 안에는 정보가 들어있다. 사이트를 해킹하지 말라고 적혀있고, 쿼리문 $query = "select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}'"; 을 통해 URL 뒤에 ?id=1&pw=1 쓰면 상단 query 에 기입된다. 결과가 참인 구문을 주면 해결이 될 듯 하다. ?id=&pw=1' or'1'='1'%23 이렇게 적거나 ?id=1' or'1'='1'%23 (참고로 뒤에 주석처리 #은 %23 으로 써야된다.) 아이디는 1 이거나 참이다 or 의 특성상 한쪽 결과가 참이면 참이 되버리기 때문에 or 1=1, 즉 1=1 이 참이므로 참인 결과가 된다. 뒤 코드는 주석을 통해 .. 2022. 2. 20.
[시큐어코딩]SQL Injection OWSAP 에 항상 거론 되는 인젝션 공격. 가장 위협적이며 가장 쉬운방법. A1Injection (인젝션)SQL, OS, XXE(Xml eXternal Entity), LDAP 인젝션 취약점은 신뢰할 수 없는 데이터가 명령어나 쿼리문의 일부분으로써, 인터프리터로 보내질 때 발생한다. 공격자의 악의적인 데이터는 예상하지 못하는 명령을 실행하거나 적절한 권한 없이 데이터에 접근하도록 인터프리터를 속일 수 있다. Injection은 주입이라는 뜻으로, SQL 언어를 주입하여 해킹을 하는 기법을 뜻한다. 방어방법. Statement 대신, PreparedStatement같이 안전한 구문을 사용한 보안코딩 사용. statement구문을 사용시에는 꼭 컬럼값에 Injection을 유발할 수 있는 '(외따옴표) ;.. 2022. 1. 21.