0%

护网

护网

基础篇

讲一下TOP10有哪些?

1.失效的访问控制

2.加密机制失效

3.注入(包括跨站脚本攻击XSS和SQL注入等)

4.不安全设计

5.安全配置错误

6.自带缺陷和过时的组件

7.身份识别和身份验证错误

8.软件和数据完整性故障

9.安全日志和监控故障

10.服务端请求伪造SSRF

常见的端口和相关的服务?
服务 端口号 说明
FTP 20 FTP服务器真正传输所用的端口,用于上传、下载
FTP 21 用于FTP的登陆认证
SSH、SFTP 22 加密的远程登录,文件传输
Telnet 23 远程登录(在本地主机上使用此端口与远程服务器的22/3389端口连接)
SMTP 25 用于发送邮件
DNS 53 域名解析
HTTP 80 用于网页浏览
POP3 110 SUN公司的RPC服务所有端口
Network News Transfer Protocol 119 NEWS新闻组传输协议,承载USENET通信
SMTP 161 Simple Network Management Protocol,简单网络管理协议
SNMP Trap 160、162 SNMP陷阱
HTTPS 443 加密的网页浏览端口
CIFS 445 公共Internet文件系统
sql server 1433 Microsoft的SQL服务开放的端口 数据库
Oracle 1521 数据库
NFS 2049 通过网络,让不同的机器、不同的操作系统实现文件共享
MySQL 3306 数据库
WIN2003远程登录 3389 Windows 2000(2003) Server远程桌面的服务端口,本地服务器开放此端口,去连接到远程的服务器
QQ· 4000 腾讯QQ客户端开放此端口
redis· 6379 数据库
WebLogic 7001 一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器
Wingate 8010 Wingate代理开放此端口
TOMCAT 8080 WWW代理开放此端口
如何判断目标操作系统?

大小写检测:windows大小写不敏感,而linux大小写敏感。

PING指令:根据TTL值,winodws一般情况下>100,linux<100

正向代理和反向代理的区别?

正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端

反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端

正向shell和反向shell的区别?

正向Shell:攻击者连接被攻击者机器,可用于攻击者处于内网,被攻击者处于公网的情况。

反向Shell:被攻击者主动连接攻击者,可用于攻击者处于外网,被攻击者处于内网的情况。

序列化和反序列化的概念?

序列化:把对象转化为可传输的字节序列过程称为序列化。

反序列化:把字节序列还原为对象的过程称为反序列化。

信息收集具体收集什么信息
1.服务器的相关信息

真实IP,服务器操作系统及其版本,数据库类型及其版本,开放端口及其对应服务(常用端口扫描工具Nmap,Zenmap,Masscan等),WAF探测

2.网站相关信息

CMS(内容管理系统),web容器,web框架,CDN,web指纹识别(常用指纹识别工具潮汐指纹,云悉指纹,WhatWeb等),旁站和C段信息

3.域名相关信息

子域名,whois信息(查询域名的IP以及所有者等信息的传输协议),公司名称,注册人或者机构信息、公司或个人联系方式(邮箱,手机号码等信息),备案号

4.具体站点信息

漏洞扫描(常用漏扫工具Nessus,AppScan,AWVS,X-ray等),目录爆破(常用目录爆破工具dirsearch,dirb,dirbuster,ffuf等),robots.txt,

怎么验证是否存在CDN?

使用多地ping的服务,查看对应IP地址是否唯一,如果不唯一大概率就是存在CDN

使用nslookup命令检测,查看返回域名解析对应IP地址是否唯一,如果不唯一很可能存在CDN

怎么绕过CDN寻找真实ip?

1.查询历史DNS记录

查看IP和域名绑定的历史记录,利用站长工具,微步在线等网站说不定就能找到使用CDN之前的真实IP。

2.查询子域名

收集子域名信息,如果子域名对应的IP不存在CDN,就可以利用这些IP来辅助查找目标网站的真实IP
3.查询主域名

有些网站为了方便维护只让WWW域名使用CDN,把目标域名前面的WWW去掉ping一下说不定就是真实IP。
4.通过邮件服务器查找

一般邮件系统都在内部,没有经过CDN的解析,通过用户注册、找回密码以及RSS邮件订阅等功能接收目标网站发送的邮件,查看源码(或者信息头)就有可能得到目标网站真实IP。

5.使用国外主机解析域名

国内很多 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的主机直接访问可能就能获取到真实IP

6.网站漏洞查找

利用网站自身存在的漏洞,很多情况下会泄露服务器的真实IP地址

7.利用SSL证书寻找真实原始IP

证书颁发机构(CA)必须将他们发布的每个SSL/TLS证书发布到公共日志中,SSL/TLS证书通常包含域名、子域名和电子邮件地址。使用Censys等工具搜索目标网站信息。

8.F5 LTM解码法

当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取,例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,以此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的ip。

9.网络空间搜索引擎

根据网站特征或者响应内容特征等查找目标网站信息,当然也可以直接通过域名查找。

怎么验证找到的ip是否为真实ip?

使用端口扫描工具扫描开了哪些端口,然后结合开放的端口直接访问找到的IP,看看响应的页面是不是和访问域名返回的一样。

怎么建立隐藏用户?

net user test$ 123456 /add [建立隐藏用户]

net localgroup administrators test$ /add[将隐藏用户加入管理组]

判断网站的CMS有什么意义?

查找已曝光的漏洞。

如果开源,还能下载相应的源码进行代码审计。

根据CMS特征关联同CMS框架站点,进行敏感备份文件扫描,有可能获得站点备份文件。

数据包有哪些请求方式?

目前常用八种请求方式,分别是 GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、 CONNECT,get 和 post 最常用

漏洞篇题目

SQL注入的原理和产生原因?

SQL注入原理:

通过某种方式将恶意的sql代码添加到输入参数中,然后传递到sql服务器使其解析并执行的一种攻击手法

漏洞产生原因(实现条件):

用户对sql查询语句参数可控

原本程序要执行的SQL语句,拼接了用户输入的恶意数据

SQL注入的类型?

1.联合注入

2.堆叠注入
3.宽字节注入
4.cookie注入
5.XFF头注入
6.UA注入(user-agent注入)

7.Referer注入
8.二次注入
9.base64注入

10.万能密码
1.文件读写

盲注类型:
1.基于时间的盲注 sleep() benchmark()
2.基于布尔的注入
3.基于报错的注入

updatexml() extractvalue() floor() exp()

预防SQL注入的方法和原理?

1.预编译(数据库不会将参数的内容视为SQL命令执行,而是作为一个字段的属性值来处理)

2.PDO预处理 (本地和Mysql服务端使用字符集对输入进行转义)
3.正则表达式过滤 (如果用户输入了非法信息则利用正则表达式过滤)

SQL注入有哪些绕过方法?

1.大小写绕过注入

2.双写绕过注入

3.编码绕过注入

4.内联注释绕过注入

SQL注入有哪些危害?

1.获取数据库数据

数据库中存放的用户的隐私信息的泄露,脱取数据库中的数据内容(脱库),可获取网站管理员帐号、密码悄无声息的进行对网站后台操作等。

2.网页篡改

通过操作数据库对特定网页进行篡改,严重影响正常业务进行与受害者信誉。

3.网页挂马

将恶意文件或者木马下载链接写入数据库,修改数据库字段值,进行挂马攻击。

4.篡改数据库数据

攻击数据库服务器,篡改或者添加普通用户或者管理员帐号。

5.获取服务器权限

列取目录、读取、写入shell文件获取webshell,远程控制服务器,安装后门,经由数据库服务器提供的操作系统支持,让攻击者得以修改或控制操作系统。

XSS的原理和类型?

原理:攻击者在Web页面中注入恶意的Script代码,当用户浏览该网页时,嵌入的Script代码会被执行,从而达到攻击的目的。

类型:反射型XSS 存储型XSS DOM型XSS

XSS的绕过方法?

\1. 大小写转换;

\2. 引号的使用;

\3. 使用 / 代替空格;

\4. 编码绕过(将字符进行十进制或者十六进制转码);

5.双写绕过;

6.使用制表符 换行符和回车符

7.使用 IMG 源

XSS的危害?

窃取cookie

抓取屏幕截图

获取键盘记录

重定向

植入广告,恶意链接

网页钓鱼

网页挂马

结合网页挂马或者其他工具(Metasploit)获取服务器或者操作系统权限

XSS的防范措施?

对用户的输入进行过滤

比如说添加黑名单或者白名单规则,比如说对& “ ‘ / javascript import等敏感字符进行转义

使用 HttpOnly Cookie

如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样可以有效的防止XSS攻击窃取cookie。

设置X-XSS-Protection属性

该属性被所有的主流浏览器默认开启。X-XSS-Protection,即XSS保护属性,是设置在响应头中目的是用来防范XSS攻击的。在检查到XSS攻击时,停止渲染页面。

开启CSP网页安全策略

CSP是网页安全策略(Content Security Policy)的缩写。开启策略后可以起到以下作用:禁止加载外域代码,防止复杂的攻击逻辑;禁止外域提交,网站被攻击后,用户的数据不会泄露到外域;禁止内联脚本执行(规则较严格,目前发现 GitHub 使用);禁止未授权的脚本执行(新特性,Google Map 移动版在使用)。合理使用上报可以及时发现 XSS,利于尽快修复问题。

避免内联事件

尽量不要使用 onLoad=“onload(’’)”、onClick=“go(’’)” 这种拼接内联事件的写法。在 JavaScript 中通过 .addEventlistener() 事件绑定会更安全。

使用模板引擎

开启模板引擎自带的 HTML 转义功能。例如: 在 ejs 中,尽量使用 而不是 ; 在 doT.js 中,尽量使用