常见的漏洞分享

电子说

1.3w人已加入

描述

#SPF邮件伪造漏洞

windows命令: nslookup -type=txt xxx.com

linux命令: dig -t txt huawei.com

MySQL

发现spf最后面跟着~all,代表有漏洞,利用swaks可以伪造邮件发到自己邮箱测试。163可行

MySQL

#sourcemap文件泄露漏洞

油猴脚本:sourcemap-searcher、burp hae插件

在F12控制台输入sms(),下载下来,使用nodejs反编译

reverse-sourcemap --output-dir . 2.11aef028.chunk.js.map

MySQL

#DNS域传送漏洞:

域传送是DNS备份服务器从主服务器拷贝数据、若DNS服务器配置不当,未验证身份,导致攻击者可以获取某个域所有DNS记录,造成网络拓扑结构泄露。

1) nslookup #进入交互式shell

2) server dns.xx.yy.zz #设定查询将要使用的DNS服务器

3) ls xx.yy.zz #列出某个域中的所有域名

4) exit #退出

#业务逻辑漏洞:

由于程序不严谨,导致一些逻辑处理不正常或处理错误。大致包括:绕过功能限制、遍历、越权、弱口令、信息泄露、任意用户密码重置、竞争性问题等,存在支付安全、验证码安全。

1.突破功能限制,如一个订单用一个优惠券,当日最大交易额,尝试重放或条件竞争,验证码能多次使用或万能0000验证码甚至会返回验证码

2.绕过权限验证(越权),找到鉴权参数,尝试换成其他鉴权参数,或者替换cookie,更换某些参数,例如view_controller改成edit_controller、在用户注销后再注册相同用户名发现拥有原来用户权限、构造数组绕过第一个元素校验,user[0]=1&user[1]=2...

3.支付安全相关:数字溢出、精度问题、负数、修改参数、支付接口、条件竞争、重放攻击。重放攻击由于多线程访问同一共享代码,未使用锁操作。

#JWT漏洞(jsonwebtoken):

token的一种实现方式,以json形式,服务器返回token,每次请求将JWT携带作身份认证,JWT分为header,payload,签名,前两段用base64,存放着alg签名用的算法(hs256)以及typ令牌类型(JWT)。某些时候可以通过修改paload中身份信息,造成越权,或更改header中alg算法为none,丢弃第三段签名,服务器不做签名认证。

#提权

##mysql udf提权:(userdefined function用户自定义函数)

利用条件:1.知道数据库用户密码;2.mysql可以远程登录;3.mysql有写入文件权利(即secure_file_priv值为空,5.5之前默认为空,之后为Null)

需要上传udf提权的动态链接库(.dll文件,可以通过msf或者sqlmap获取),5.1版本之前要放在C:windowssystem32,5.1后放在mysql目录下的lib/plugin,也可以show variables like "%plugin%";查询,create function cmdshell return string soname "udf.dll"创建cmdshell函数,之后只需要select cmdshell('xxx')执行任意命令。参考:https://blog.csdn.net/weixin_45945976/article/details/121679711

##dirtycow脏牛漏洞(linux提权):

cow就是copy on write,竞争条件型漏洞,可拿root权限

##令牌窃取提权(windows):

令牌是用户登录后,生成accessToken在执行进程时会使用,能访问到什么资源取决于拿着谁的令牌。msf可以根据进程pid号窃取令牌,达到提权。命令steal_token [pid]。

##at提权:

at是windowsXP内置计划任务命令,默认以system权限运行,通过“at 时间 /interactive cmd”命令在指定时间后开启interactive交互模式。windows7已经取消at命令。

#SQL注入:

##mysql常见函数及变量:user(),database(),version(),@@datadir数据库路径,@@hostname主机名,@@versuib_compile_os操作系统,basedir安装路径

##报错注入:https://blog.csdn.net/qq_38265674/article/details/112385897

1.extractvalue()是对XML进行查询数据,用法是extractvalue(XML_document,Xpath_string),第二个字段可以放入想查询的语句,例如extractvalue(1,database()),同理updatexml()也是如此,语句为"select * from ctf_test where user='1' and 1=1 and updatexml(1,concat(0x7e,(select database()),0x7e),1);"拥有三个数值,用来替换值。

2.floor报错,语法是select count(*),concat(database(),floor(rand(0)*2)) as x from users group by x; 原理是rand随机数,floor向下取整,group by与rand()使用时,如果临时表中没有该主键,则在插入前rand()会再计算一次,然后再由group by将计算出来的主键直接插入到临时表格中,导致主键重复报错

3.exp报错,exp(x)是取e得x次方,当输入值大于709会报错,在值前面加上"~"取反符,构造语句是"select exp(~(select*from(select table_name from information_schema.tables where table_schema=database() limit 0,1)x));"一定要使用嵌套

4.pow()报错,与exp()同为数据溢出报错,pow(x,y)计算x的y次方,可通过报错来进行盲注。

#LDAP注入:

https://blog.csdn.net/m0_52923241/article/details/120384154

#XSS漏洞语句:


审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分