网安面试问题汇总

SQL注入方式有哪些

1.按照注入方式分类

  • 联合查询注入
    可以明确判断回显位置的情况下使用
  • 报错注入
    无回显位置,可以有报错输出的情况可以使用
  • 布尔盲注
    关闭错误回显和数据回显,但是页面会根据我们的输入对错变化。可以使用。
  • 时间盲注
    无任何形式的回显,但是仅仅对睡眠函数有响应,可以使用时间盲注。
  • 堆叠注入
    堆叠注入在mysql上不常见,必须要用到mysqli_multi_query()或者PDO,可以用分号分割来执行多个语句,相当于可直连数据库。Mssql则较常见堆叠注入。

2.根据注入点分类

  • 数字型注入
  • 字符型注入
  • 搜索型注入

在Mysql5.0以上和Mysql5.0以下的版本中最大的区别是什么?

  1. 在Mysql5.0以上的版本中加入了一个information_schema这个系统表,这个系统表中包含了该数据库的所有数据库名、表名、列表,可以通过SQL注入来拿到用户的账号和口令,而Mysql5.0以下的只能暴力跑表名
  2. 5.0 以下是多用户单操作,5.0 以上是多用户多操作。

sql注入常见函数有哪些

1.数据库基本函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#MySQL数据库版本
version()

#数据库用户名
user()

#当前数据库名
database()

#数据库安装路径
@@basedir

#数据库文件存放路径
@@datadir

#操作系统版本
@@version_compile_os

2.union联合注入函数

1
2
3
4
5
6
7
8
#拼接字符串,直接拼接,字符之间没有符号
concat()

#指定符号进行拼接
concat_ws()

#以逗号隔开显示出来
group_concat()

3.盲注函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#返回当前字符的长度
length()

#left(str,num):对字符串str从左开始数起,返回num个字符(与函数right()相反)
left()
right()

#截取字符串
substr()
mid()

#返回字符串str的最左字符的数值,ASCII()返回数值是从0到255
ascii()
ord()

#时间盲注函数
sleep()

#条件函数
if(1=1,3,4) #返回3

4.报错注入函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#向下取整
floor()

#以e为底的指数函数
exp() #可以溢出报错

#按位取反
~0 #表示对0进行按位取反

#updatexml(XML_document, XPath_string, new_value);
#第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
#第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
#第三个参数:new_value,String格式,替换查找到的符合条件的数据
updatexml()

#extractvalue(XML_document, XPath_string);
#第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
#第二个参数:XPath_string (Xpath格式的字符串
extractvalue()

5.读写文件函数

1
2
3
4
5
6
#读取文件
load_file()

#写文件
into outfile
into dumpfile

mysql的几种提权方式

  • mof提权
  • udf提权
  • 反弹shell提权

sqlmap —os-shell 的原理

往服务器上写入了两个php,其中一个给我们提供了文件上传的页面,可以通过这个上传页面上传脚本文件到当前目录下。另外一个则是返回了可以让我们执行系统命令的命令行,命令行也可以在网页url中通过对cmd参数传参执行系统命令。

XSS的类型

1.反射型XSS
这种类型的XSS攻击依赖于用户点击由攻击者精心构造的带有恶意脚本参数的URL,而这些URL通常伪装成合法链接或者嵌入在电子邮件、即时消息等载体中。当服务器接收到这样的请求后,未经验证就将含有恶意脚本的数据直接反映在响应页面中,进而触发执行。

2.存储型XSS
相较于反射型XSS,存储型XSS具有持久性特点。攻击者将恶意脚本永久地存储在目标服务器上,例如在博客文章内容、用户个人资料、论坛帖子等位置。每当任何用户访问到包含此类恶意内容的页面时,浏览器都会执行其中的恶意脚本。

3.基于DOM的XSS
这种类型的XSS不涉及服务器端的数据存储,而是发生在客户端层面,即浏览器解析和动态修改DOM树的过程中。如果Web应用程序错误地使用来自不可信源的数据更新DOM,并且没有实施恰当的防御措施,攻击者就可以利用DOM-XSS漏洞注入恶意脚本。

XSS的检测方法

1.手动检测
在识别和分析应用程序的所有可能入口点时,特别关注那些接受外部输入并将其反馈给客户端的接口,例如URL查询参数、POST表单数据、HTTP头部信息等。针对这些潜在脆弱点,安全专家会尝试注入一系列典型的XSS攻击载荷,例如基础的JavaScript执行实例 \alert(1)\</script> 或者采用更为复杂且难以被防御系统识别的payload,如DOM-Based XSSPayloads,以验证这些payload是否能够在用户的浏览器环境中被执行。

2.自动化工具
Xray,XSStrike,Burp Suite(xss Validator插件)等。

越权漏洞的原理

通常情况下,一个 Web 程序功能流程是登录 - 提交请求 - 验证权限 - 数据库查询 - 返回结果。如果验证权限不足,便会导致越权。常见的程序都会认为通过登录后即可验证用户的身份,从而不会做下一步验证,最后导致越权。

产生越权漏洞的原因

  • 通过隐藏 URL
    实现控制访问有些程序的管理员的管理页面只有管理员才显示,普通用户看不到,利用 URL 实现访问控制,但 URL 泄露或被恶意攻击者猜到后,这会导致越权攻击。
  • 直接对象引用
    这种通过修改一下参数就可以产生水平越权,例如查看用户信息页面 URL 后加上自己的 id 便可查看,当修改为他人的 ID 号时会返回他人的信息,便产生了水平越权。
  • 多阶段功能
    多阶段功能是一个功能有多个阶段的实现。例如修改密码,可能第一步是验证用户身份信息,号码验证码类的。当验证成功后,跳到第二步,输入新密码,很多程序会在这一步不再验证用户身份,导致恶意攻击者抓包直接修改参数值,导致可修改任意用户密码。
  • 静态文件
    很多网站的下载功能,一些被下载的静态文件,例如 pdf、word、xls 等,可能只有付费用户或会员可下载,但当这些文件的 URL 地址泄露后,导致任何人可下载,如果知道 URL 命名规则,则会便利服务器的收费文档进行批量下载。
  • 平台配置错误
    一些程序会通过控件来限制用户的访问,例如后台地址,普通用户不属于管理员组,则不能访问。但当配置平台或配置控件错误时,就会出现越权访问。

渗透测试常见端口

端口号 端口说明 攻击技巧
21/22/69 ftp/tftp:文件传输协议 爆破嗅探 ;溢出;后门
22 ssh:远程连接 爆破 ;OpenSSH;28个退格
23 telnet:远程连接 爆破 嗅探
25 smtp:邮件服务 邮件伪造
53 DNS:域名系统 DNS区域传输;DNS劫持;DNS缓存投毒;DNS欺骗;利用DNS隧道技术刺透防火墙
67/68 dhcp 劫持 欺骗
110 pop3 爆破
139 samba 爆破 未授权访问 ;远程代码执行
143 imap 爆破
161 snmp 爆破
389 ldap 注入攻击;未授权访问
512/513/514 linux r 直接使用rlogin远程登录
873 rsync 未授权访问
1080 socket 爆破:进行内网渗透
1352 lotus 爆破:弱口令;信息泄漏:源代码
1433 mssql 爆破:使用系统用户登录;注入攻击
1521 oracle 爆破:TNS;注入攻击
2049 nfs 配置不当
2181 zookeeper 未授权访问
3306 mysql 爆破;拒绝服务;注入
3389 RDP远程桌面 爆破;Shift后门
4848 glassfish 爆破:控制台弱口令;认证绕过
5000 sybase/DB2 爆破;注入
5432 postgresql 缓冲区溢出;注入攻击;爆破:弱口令
5632 pcanywhere 拒绝服务;代码执行
5900 vnc 爆破:弱口令 ;认证绕过
6379 redis 未授权访问;爆破:弱口令
7001 weblogic Java反序列化;控制台弱口令;控制台部署webshell
80/443/8080 web 常见web攻击控制台爆破;对应服务器版本漏洞
8069 zabbix 远程命令执行
9090 websphere控制台 爆破:控制台弱口令;Java反序列
9200/9300 elasticsearch 远程代码执行
11211 memcacache 未授权访问
27017 mongodb 爆破;未授权访问

常见服务的漏洞

1、web服务类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
tomcat--80/8080/8009
manager弱口令
put上传webshell
HTTP慢速攻击
ajr文件包含漏洞-CVE-2020-1938
Jboss--8080
后台弱口令
console后台部署war包
JAVA反序列化
远程代码执行
webSphere--9080
后台弱口令
任意文件泄露
JAVA反序列化
weblogic--7001/7002
后台弱口令
console后台部署war包
SSRF
测试页面上传webshell
JAVA反序列化
CVE-2018-2628
CVE-2018-2893
CVE-2017-10271
CVE-2019-2725
CVE-2019-2729
Glassfish--8080/4848
暴力破解
任意文件读取
认证绕过
Jetty--8080
远程共享缓冲区溢出
Apache--80/8080
HTTP慢速攻击
解析漏洞
目录遍历
ApacheSolr--8983
远程命令执行
CVE-2017-12629
CVE-2019-0193
IIS--80
put上传webshell
IIS解析漏洞
IIS提权
IIS远程远程代码执行-CVE-2017-7269
Resin--8080
目录遍历
远程文件读取
Axis2--8080
后台弱口令
Lutos--1352
后台弱口令
信息泄露
跨站脚本攻击
Nginx--80/443
HTTP慢速攻击
解析漏洞

2、数据库类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Mysql--3306
弱口令
身份认证漏洞-cve-2012-2122
拒绝服务攻击
phpmyadmin万能密码or弱口令
UDF/MOF提权
Mssql--1433
弱口令
存储过程提权
Oralce--1521
弱口令
TNS漏洞
Redis--6379
弱口令
未经授权访问
PostgreSQL--5432
弱口令
缓冲区溢出-cve-2014-2669
MongoDB--27001
弱口令
未经授权访问
DB2--5000
安全限制绕过进行未经授权操作-cve-2015-1922
SysBase--5000/4100
弱口令
命令注入
Memcache--11211
未经授权访问
配置漏洞
ElasticSearch--9200/9300
未经授权访问
远程代码执行
文件办理
写入webshell

3、大数据类

1
2
3
4
Hadoop--50010
远程命令执行
Zookeeper--2181
未经授权访问

4、文件共享

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Ftp--21
弱口令
匿名访问
上传后门
远程溢出
跳转攻击
NFS--2049
未经授权访问
Samba--137
弱口令
未经授权访问
远程代码执行-CVE-2015-0240
LDAP--389
弱口令
注入
未经授权访问

5、远程访问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SSH--22
弱口令
28退格漏洞
OpenSSL漏洞
用户名枚举
Telent--23
弱口令
RDP--3389
弱口令
Shitf粘滞键后门
缓冲区溢出
MS12-020
CVE-2019-0708
VNC--5901
弱口令
认证口令绕过
拒绝服务攻击-CVE-2015-5239
权限提升-CVE-2013-6886
Pcanywhere--5632
拒绝服务攻击
权限提升
代码执行
X11--6000
未经授权访问-CVE-1999-0526

6、邮件服务

1
2
3
4
5
6
7
8
9
10
SMTP--25/465
弱口令
未经授权访问
邮件伪造
POP3--110/995
弱口令
未经授权访问
IMAP--143/993
弱口令
任意文件读取

7、其他服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
DNS--53
DNS区域传输
DNS劫持
DNS欺骗
DNS缓存投毒
DNS隧道
DHCP--67/68
DHCP劫持
DHCP欺骗
SNMP--161
弱口令
Rlogin--512/513/514
rlogin登录
Rsync--873
未经授权访问
本地权限提升
Zabbix--8069
远程命令执行
RMI--1090/1099
JAVA反序列化
Docker--2375
未经授权访问

参考连接:

XSS攻击全貌:原理、分类、检测与防御策略研究_xss攻击检测-CSDN博客

越权漏洞原理及防御方案 - 知乎 (zhihu.com)

sql注入常见函数(附图详解)_sql注入常用函数分类-CSDN博客

测试渗透-常见端口渗透总结_22883端口-CSDN博客