변수에 저장되어있는 내용이 ascii인지 아닌지 판별법?
글쓴이: mixmccym / 작성시간: 수, 2008/07/02 - 3:39오후
안녕하세요...
저는 http payload상에 sql injection을 검출하여 차단하는 프로그램을 구현해보려고 합니다
라이브러리는 libipq를 사용하구요...
그런데 http부분을 출력하는 부분에서 print할수없는 것들을(예를 들면 binary 파일내용)
검출하여 "."으로 대체하고 싶은데요.
문제는 http의 데이터가 unsigned char 배열 형태인 변수에 저장되어있습니다.
이 속에 담긴 http데이터들을 출력할수 있으면 그대로 출력하고
출력할 수없는 데이터라면 "."으로 대체하여 프린트해보고 싶은데요..
어떻게 하면 좋을까요? 이 처리를 안해주니깐 잘 출력되다가 쉘이 깨지고 난리가 나네요.
isascii같은 함수는 매개변수가 int형으로 들어가니 못쓸것 같습니다.
kldp에 있는 고수님들의 많은 지도 부탁드립니다.
Forums:
http://www.powerindex.net/U_c
http://www.powerindex.net/U_convt/ascii/ascii.htm
아스키코드표를 보시면. =.=
컨트롤 부분을 '.' 로 바꾸시면 될거 같네요.
int is_printable(char c) {
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
#include
#include
isprint()
사실은 오늘 일이 없어서 종일 이러구 있네요. 헤헤..
댓글 달기