2020년 1월 27일 코드 감사 학습 - 바이트 폭 주입 및 보조 주입

다양한 사출 바이트 × 00

변수는 우리가 때때로 볼 때 addslashes는 필터링 기능
'으로 이스케이프 작은 따옴표를

우리 %의 DF가 선행
자료가된다 = % DF '
탈출이 후 % DF'부호화 % 5C % 27 % DF
% DF 57 %는 중국의 "전송"으로 간주되는
이러한 따옴표 전에 이스케이프 신호 "행운"는에 조정을 먹었다 " '"실패 탈출, 해석에 mysql을 우리의 따옴표하고, 새로운 바이트를 무시합니다 발효 (')를.

하는 SQLMaps 주입 와이드 바이트 :

python2 sqlmap.py -u "http://117.51.147.2/Ze02pQYLf5gGNyMn/query_aIeMu0FUoVrW0NWPHbN6z4xh.php?id=1" --tamper unmagicquotes --dbs --hex

사용 unmagicquotes
작은 따옴표 16 진수 바이 패스를 사용하여 필터링 때문에 진수입니다

2 : 직접 실행

%df直接可以用sqlmap进行注入,
python sqlmap.py -u"http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df'"

0x01로 바이트 폭 주입 수리 방식

1 : mysql_set_charset (GBK) 문자 집합 지정
2 : mysql_real_escape_strings 탈출

는 0x02 차 주입 원리

공격자가 악성 데이터가 데이터베이스에 저장된다 구축으로 보조 분사가 이해할 수있는 악의적으로 데이터 및 SQL 쿼리하여 주입이 발생 판독된다. 사용자 입력이 악성 탈출 데이터를 처리 할 때 발생할 수있는 특수 문자의 수비수하지만, 데이터가 처리 및 데이터베이스에 저장하고 데이터베이스에 악의적 인 데이터가 웹 응용 프로그램 호출이 데이터베이스에 저장 될 때 때 감소한다 악성 데이터는 SQL 쿼리를 실행할 때, 이차 SQL 인젝션 발생한다.

보조 분사는 다음의 두 단계로 요약 될 수있다 :

첫 번째 단계 : 악성 데이터 삽입
데이터가 데이터베이스에 삽입, 데이터베이스에 기록하고 원래 데이터를 유지하는 경우, 탈출 된 특수 문자.

단계 : 악성 데이터를 견적

데이터베이스에 저장된 개발자의 기본 데이터를 조회하는 동안, 추가 처리를 테스트하지 않고 데이터베이스에서 직접 악성 데이터를 제거, 안전합니다.

0x03으로 보조 분사 아이디어

先将注入语句插入到数据库,注册,留言板等功能都具有insert数据库的操作,然后在使用updata的地方触发插入到数据库的注入语句。

추천

출처www.cnblogs.com/wangtanzhi/p/12236247.html