>운영 및 유지보수 >안전 >Piwigo v2.9.5의 5가지 SQL 주입은 무엇입니까?

Piwigo v2.9.5의 5가지 SQL 주입은 무엇입니까?

PHPz
PHPz앞으로
2023-05-15 20:55:10990검색

0x0 프로젝트 소개

프로젝트 주소: https://github.com/Piwigo/Piwigo

프로젝트 소개: piwigo는 인터넷용 오픈 소스 사진 스튜디오 소프트웨어입니다. 조직, 팀 및 개인이 사진 라이브러리를 관리할 수 있도록 설계되었습니다.

공식 웹사이트 주소: piwigo.org

0x1 준비

Linux에서 다운로드 https://github.com/Piwigo/Piwigo/archive/2.9.5.zip 압축 풀기, 권한 부여, 디렉터리 입력 후 docker를 사용하여 설치 :

docker run -d --name piwigo_mysql -e MYSQL_DATABASE=piwigo -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run -d -p 3000:80 -v $(pwd)/:/var/www/html/ --link piwigo_mysql:mysql --name piwigo nimmis/apache-php5

시작 인터페이스를 볼 수 있습니다

0x2 Audit

admin/group_perm.php에 선택 및 상위 매개변수 삽입:

선택 값이 검증 없이 move_categories 함수에 입력됩니다

piwigo v2.9.5的5个sql注入分别是怎样的

move_categories 함수를 추적해 보면 해당 함수가 값을 분해하여 sql 문에 직접 연결하는 것을 볼 수 있습니다.

piwigo v2.9.5的5个sql注入分别是怎样的

admin/group_list의 group_selection 매개변수를 테스트한 후

piwigo v2.9.5的5个sql注入分别是怎样的piwigo v2.9.5的5个sql注入分别是怎样的 취약점을 찾을 수 있습니다. .php에는 SQL 주입이 존재합니다.

사진에서 group_selection 값은 $groups에, selectAction 값은 $action

코드에서 $action은 여러 액션에 해당하며, 그러나 여러 작업에서 $group은 sql 문에 직접 붙어 있습니다. 여기서는 삭제 방법을 살펴보겠습니다. piwigo v2.9.5的5个sql注入分别是怎样的

여기서 sql 문에 삽입되는 것을 확인하는 것은 매우 직관적입니다. piwigo v2.9.5的5个sql注入分别是怎样的

三admin/ user_perm.php에서 cat_false 매개변수의 SQL 주입: piwigo v2.9.5的5个sql注入分别是怎样的

그림에서 cat_false가 함수에 삽입된 것을 볼 수 있습니다.

우리는 이 함수를 추적하고 다음에서 함수를 찾습니다. admin/include/functions.php, $cat_false의 값은 $category로 변경되어 배열인지, 수량인지 판단한 후 get_uppercat_ids 함수에 넣어 처리합니다.

piwigo v2.9.5的5个sql注入分别是怎样的

계속해서 get_uppercat_ids 함수를 추적합니다. 위 취약점이 있는 매개변수는 $cat_ids로 변경됩니다. 간단히 판단하면 cat_ids가 sql문에 들어가고 쿼리가 시작됩니다. 그리고 에코를 볼 수 있는 명백한 장소가 없습니다. 이 상황은 특히

piwigo v2.9.5的5个sql注入分别是怎样的

를 사용합니다. 검증을 통해 웹페이지 열기 지연을 찾아낼 수 있으며 sqlmap을 사용하여

의 웨이브를 실행합니다.

piwigo v2.9.5的5个sql注入分别是怎样的

1 and if(ascii(substr(database(),1,1))>97,1,sleep(5))admin/group_perm.php의 네 가지 SQL 취약점:

piwigo v2.9.5的5个sql注入分别是怎样的이 취약점은 위의 세 가지 admin/user_perm과 유사합니다. PHP 취약점은 동일하며 동일한 함수가 호출된다는 점만 다릅니다. 사용자와 그룹은 항목 그림을 보고 이해하세요.

piwigo v2.9.5的5个sql注入分别是怎样的

sqlmap run

piwigo v2.9.5的5个sql注入分别是怎样的

5 admin/batch_manager.php의 filter_category 매개변수 기존 주입:

특정 코드를 살펴보겠습니다.

piwigo v2.9.5的5个sql注入分别是怎样的post 패키지에 'filter_category_use' 키가 존재하는 경우 'filter_category' 값을 xx['category']

piwigo v2.9.5的5个sql注入分别是怎样的

아래로 가서 xx['category']를 찾으면 알 수 있습니다. 값은 필터링되지 않고 SQL 문에 직접 배치됩니다.

이 요청 링크는 웹 페이지에서 찾을 수 없으며 게시물 패키지에 수동으로 추가해야 합니다filter_category_use=on&filter_category=1

piwigo v2.9.5的5个sql注入分别是怎样的

sqlmap을 실행하고

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

위 내용은 Piwigo v2.9.5의 5가지 SQL 주입은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제