网安面试问题汇总
网安面试问题汇总
SQL注入方式有哪些
1.按照注入方式分类
- 联合查询注入
可以明确判断回显位置的情况下使用 - 报错注入
无回显位置,可以有报错输出的情况可以使用 - 布尔盲注
关闭错误回显和数据回显,但是页面会根据我们的输入对错变化。可以使用。 - 时间盲注
无任何形式的回显,但是仅仅对睡眠函数有响应,可以使用时间盲注。 - 堆叠注入
堆叠注入在mysql上不常见,必须要用到mysqli_multi_query()或者PDO,可以用分号分割来执行多个语句,相当于可直连数据库。Mssql则较常见堆叠注入。
2.根据注入点分类
- 数字型注入
- 字符型注入
- 搜索型注入
在Mysql5.0以上和Mysql5.0以下的版本中最大的区别是什么?
- 在Mysql5.0以上的版本中加入了一个information_schema这个系统表,这个系统表中包含了该数据库的所有数据库名、表名、列表,可以通过SQL注入来拿到用户的账号和口令,而Mysql5.0以下的只能暴力跑表名
- 5.0 以下是多用户单操作,5.0 以上是多用户多操作。
sql注入常见函数有哪些
1.数据库基本函数
1 | #MySQL数据库版本 |
2.union联合注入函数
1 | #拼接字符串,直接拼接,字符之间没有符号 |
3.盲注函数
1 | #返回当前字符的长度 |
4.报错注入函数
1 | #向下取整 |
5.读写文件函数
1 | #读取文件 |
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执行实例 \
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 | tomcat--80/8080/8009 |
2、数据库类
1 | Mysql--3306 |
3、大数据类
1 | Hadoop--50010 |
4、文件共享
1 | Ftp--21 |
5、远程访问
1 | SSH--22 |
6、邮件服务
1 | SMTP--25/465 |
7、其他服务
1 | DNS--53 |
参考连接:
XSS攻击全貌:原理、分类、检测与防御策略研究_xss攻击检测-CSDN博客