微信支付限额被曝漏洞 微信支付限额密码忘了怎么快速找回


首先拿到一份源码 肯定是先install上。 而在安装文件上又会经常出现问题。

一般的安装文件在安装完成后 基本上都不会自动删除这个安装的文件 我遇到过的会自动删除的好像也就qibocms了。

其他的基本都是通过生成一个lock文件 来判断程序是否安装过了 如果存在这个lock文件了 就会退出了。 这里首先 先来说一下安装文件经常出现的问题。


这种的虽然不多 但是有时还是会遇到个。 在安装完成后 并不会自动删除文件 又不会生成lock来判断是否安装过了。 导致了可以直接重装过


例如某cms中的安装文件


有些cms 有的时候会限制用户输入的长度

这样只允许输入32个字符 而且uchome里面的这个也没有像dz那样截取字符的后面加...

那么如果我们提交一个1111111’

如果又是double query的话 吃掉一个单引号 然后下一个连着的可控变量又可以注入了。

结果在uchome中找到了个能引入转义符的 结果只有一个可控的。

绕过限制继续注册GLOBALS变量


不知道放哪。这个也放到注入板块来把。。

其实就是这次的DZ6.X 7.X 那个任意代码执行的漏洞

主要关键代码就上面这两段。 这里把GET POST COOKIE 循环出来 然后注册一个变量 但是 这里不允许创建GLOBALS变量 然后DZ7.X 就是用这样处理的 如果设置了REQUEST 的 GLOBALS

这段代码在很久以前确实是没什么问题

而且这后面也把COOKIE循环出来 注册变量

所以这里我们在COOKIE里面提交GLOBALS 就不会被检测出来了。

而且也成功注册了GLOBALS变量。

所以在结合后面的一些些代码就造成了代码执行。

以上就差不多是我经常所遇到的注入问题 好像暂时也想不到其他什么的了


下面介绍一些我在cms遇到的找回密码时候犯得错误。

找回密码很多都是验证的token 就是在找回密码的时候生成一个token 然后存储到数据库中。 然后把找回密码的地址发到邮箱中 url中就含有token 由用户点开后就能修改密码 基本就是验证的这个token。 其实一般的可以找回任意用户密码的原因就是弱token 导致可以被攻击者搞到。 包括很多厂商验证的时候就是四位纯数字啥的。 可以枚举。 当然也可以延伸一下, 一些cms的密码加密方式很难破掉。 有时候我们拿到了管理的密码破不掉也是鸡肋。 所以有时候也可以利用这种方法 一般找回密码是用的邮箱 首先我们可以注入把管理的邮箱注入出来 然后再去找回密码 再把数据库的token注入出来 再构造一下地址 就能重置密码。 这个给我印象比较深的是 在ssctf的比赛中嘛 当时机油问了问我 那wordpress那题 有个插件的注入 然后因为都知道wp的加密基本很难破。 所以也是用的这种方法。 因为一般都是弱token的问题 随便找几个例子了


可以看到这个生成的token 就是对rand()函数生成出来的数字进行md5一次

注释:在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代它。 如果不指定一些参数的话 那么最大值才32768 一个并不算大的值 那么我们首先对这32768种可能 md5出来一个列表 然后我们直接枚举这32768种可能 总会有一个对的。

修改hdwiki任意用户密码


这里带入算法的是时间 这里是我们可以知道的。

例子: //绕过补丁继续找回hdwiki任意用户密码


一般的上传漏洞可能是未验证上传后缀 或者是验证上传后缀被bypass 或者是上传的文件验证了上传后缀但是文件名不重命名。

对于那些验证了后缀但是文件名不重命名的

当然 毕竟截断鸡肋了。 上面提到过限制条件了。

还可以是结合各种webserver的解析漏洞

如果不重命名的就上传这样就行了。

Apache解析漏洞 yu.php.xxx 在最后一个后缀识别不出来的时候 那么就向上解析

像phpweb后台那个上传漏洞。很多人遇到apache的时候

无法截断的时候就上传一个yu.php.jpg 有些人比较疑问的是为啥有时候成功有时候失败。

所以在windows下 就直接识别成图片了 而不是.php

这些解析漏洞在上传中也挺经常遇到的。

上传的验证一般是 MIME、客户端的JS验证、白名单、黑名单。

白名单就是允许用户上传哪些后缀的。 黑名单就是禁止用户上传哪些后缀的。

这两种相比来说一般是黑名单容易bypass一点。 黑名单的绕过还是得具体看他黑名单的代码。 有的直接大小写就过。 有些没对文件名trim的 直接在文件名后面加空格。 Windows下的 文件名后%81-%99 decode后的 或者是windows下的特性 .php::$data 这样上传上去依旧是.php

其实上传还挺重要的。。 但是我又不知道说哪些。 还是具体看代码把。


这个主要是涉及到的是 任意文件删除 任意文件复制 任意文件重命名 任意文件移动 任意文件下载……。 因为像现在的cms很多都自带得有加密 解密 函数 例如qibocms的mymd5 Dz的authcode 啥的。 对于这些任意文件操作的 首先可以试试拿到配置文件中的数据库的连接帐号和密码 尝试外联一下 但是很多时候都是只允许本地连的 很多时候不好利用的时候可以利用拿到配置文件 然后拿到这些函数的key 然后自己生成一个加密的字符串 然后再结合具体的代码进行最大化的利用。


一般是挺不好利用的,还是结合具体的场景,有些因为全局的过滤而不能注入的,可以尝试用任意文件删除,删掉这个文件,再进行注入 一般的利用还是通过删除安装文件生成的lock文件,然后达到重装。

任意文件复制 / 任意文件移动 / 任意文件重命名


复制的话 肯定涉及到了 要复制的文件 要复制到的路径。

如果是要复制的文件可控 要复制到的路径不可控的话 例如qibocms之前的一个洞

这里$value 是可控的 但是又不能截断 复制到的路径限制了.jpg结尾。

这时候我们就可以把$value控制为 保存了qibocms的加密函数的key的配置文件

然后复制后 成了一个.jpg 那我们就可以直接打开 看到key了

如果两个都完全可控的话 那肯定是直接把自己的图片复制成一个.php马儿了。


其实跟上面复制差不多, 很多时候也是通过下载配置文件 拿到key。 再进行各种操作。。

这个例子还涉及到了一个win的特性bypass 黑名单


这种问题主要是想进各种办法把这些加密函数的key拿到 或者想办法加密一些特殊字符然后拿到加密的字符串

加密函数肯定就涉及到了各种算法。


算法问题一般主要是因为一些弱算法 导致了 知道明文 知道密文 可逆

拿到加密函数中的key 从而再自己生成一个自己想要的加密字符串。

再结合具体的点 然后进行具体的利用。


还有的一类算是 一个点 要加密的是我们可控的 而且密文会输出 而且这个可控的点能引入特殊字符 那么我们就把一些特殊字符带入到这里面 然后拿到密文 再找到一处decode后会进行特殊操作的点 然后进行各种操作。


寥寥草草的把这篇文章写完了。

比自己预期想的少写了很多, 因为在一开始写的时候还是挺有感觉的。

因为读书一个月也才放一次假, 都是抽时间在慢慢写着。

后面差不多写了1W字的时候,存稿竟然丢了, 弄了半天也没找回

就感觉不想写了, 后面又翻了翻 找到了一篇自己之前保存的写了差不多两三千字的

然后就再慢慢的开始写了, 也就草草的结束了。

当然这里只是总结了一些常见的类型, 肯定在实战中会遇到各种各样的情况 各种过滤啥的。

各种逻辑错误需要自己慢慢去体会了。

自7月1日起,央行发布的非银行支付机构网络支付新规已实施,近半个月以来仍有部分支付机构并未按照新规进行整改。北京商报记者调查发现,微信支付存在未落实实名认证、未执行限额规定、未按照相关交易验证要素等规定。北京盈科(上海)律师事务所专业律师王豫甲昨日向记者表示,他已经向央行和中国支付清算协会提交了书面行政举报书,实名举报微信支付业务涉嫌违规。

实名认证与否用户不知情

北京商报记者采访多位微信用户,他们表示并没有收到实名认证的通知。腾讯官方公众号曾在7月1日发布《七个问题,带你了解微信支付、QQ钱包实名认证》,其中提到,“微信支付添加过的用户都是实名用户。若以前绑定过银行卡,后来解绑,也已经完成实名。用户可以打开微信钱包右上角查看‘支付管理’了解实名认证情况”。

齐女士向北京商报记者表示,她之前在微信上绑定了两张银行卡,但在“支付管理”一页并没有看到实名认证的信息,在7月1日之后,微信也没有进行任何提示进行实名认证操作,因此她也不清楚自己有没有真正完成实名认证。在记者调查过程中发现,关于微信支付未实名认证的并不鲜见。

据了解,央行7月1日开始实行的《非银行支付机构网络支付管理办法》第六条显示,支付机构为客户开立支付账户的,应当对客户实行实名制管理,登记并采取有效措施验证客户身份基本信息,确保有效核实客户身份及其真实意愿,不得开立匿名、假名支付账户。

值得一提的是,近日王豫甲实名举报了微信支付,称微信支付存有五类典型的违规行为:包括未依法安排客户签订支付服务协议;未依法对支付账户进行实名认证;处理交易超出法定的支付类型和金额限制;可能在不具备豁免条件下,为不同客户的银行账户与支付账户之间转账;安全验证的有效要素不足,超额准许交易金额。

比如在实名认证中,王豫甲在材料中提到,开通微信和微信支付均不需要实名注册。对于未经身份认证或虽经身份认证但程度不充分的个人支付账户,“微信支付”均允许使用支付账户功能,起码赋予I类待遇,甚至越级赋予III类待遇。

未执行限额交易验证等规定

《管理办法》规定,应当根据客户身份认证的不同程度,对个人支付账户划分为I、II、III三类管理。Ⅰ类账户只需要一个外部渠道验证客户身份信息,比如核查居民身份证信息,账户余额仅可用于消费和转账,余额支付额度不超过1000元;Ⅱ类通过至少三个合法安全的外部渠道进行身份基本信息多重交叉验证,账户余额仅可用于消费和转账,余额支付额度为10万元/年;Ⅲ类账户通过至少五个合法安全的外部渠道进行身份基本信息多重交叉验证,账户余额可以用于消费、转账以及购买理财等类产品,余额支付额度为20万元/年。

但是微信并没有严格执行限额、交易验证要素等规定。齐女士表示,在未完成实名认证的情况下,她在转账、购买理财产品时并没有受到任何限制。

某支付行业人士表示,微信支付这一做法肯定是不合规的。齐女士能够购买理财产品说明她应该为Ⅲ类账户,虽然以往大家都认为绑定银行卡就可以属于实名认证用户,但7月1日开始执行的支付新规要求Ⅲ类账户必须是五个不同的实名认证渠道,包括身份信息认证、银行卡认证、电话号码认证等,即便是使用银行卡进行认证,也必须是五个不同银行的卡相互认证。而且无论是否验证成功,微信也应当在相关页面进行显示,提示剩余支付限额。

另外,齐女士表示,她在给别的微信用户转账金额超过1000元的情况下,仅仅通过指纹便支付成功。根据《管理办法》第二十四条规定,支付机构应根据交易验证方式的安全级别,按照下列要求对个人客户使用支付账户余额付款的交易进行限额管理:采用不足两类有效要素进行验证的交易,单个客户所有支付账户单日累计金额应不超过1000元(不包括支付账户向客户本人同名银行账户转账)。

网贷之家首席研究员马骏表示,微信在限额、交易验证要素等方面确实不太符合《管理办法》的规定,估计是产品还没来得及修改。针对上述多项违规指责,腾讯方面昨日向北京商报记者表示,暂不回应。

在苏宁金融研究院高级研究员薛洪言看来,包括没有执行限额规定、交易验证要素规定等,其危害其实和没有落实实名制是一样的,落脚点都是反洗钱。

央行要求机构执行实名制也是为了落实反洗钱。薛洪言表示,客户身份识别即实名认证是反洗钱工作开展的前提条件。《管理办法》明确规定“支付机构应当遵守反洗钱的有关规定,履行反洗钱义务”。

《反洗钱法》则明确规定“金融机构应当按照规定建立客户身份识别制度,不得为身份不明的客户提供服务或者与其进行交易,不得为客户开立匿名账户或者假名账户”。基于此,央行在《管理办法》中要求第三方支付机构落实客户实名认证要求,并区分实名情况制定了差异化的交易限额和交易验证等要求。

他表示,第三方支付不仅承担结算支付的角色,在某种程度上还承担着部分金融机构间的清算功能,具有非面对面性、隐蔽性、广泛性等特征且资金转移迅速,若不能有效落实账户实名制,资金的来源和去向难以追踪,很容易成为犯罪分子洗钱的渠道,增大反洗钱工作的难度,助长各类金融犯罪气焰。

在马骏看来,监管层有可能对微信进行处罚,不过部分支付巨头在做业务方面总打擦边球,有时监管层也没办法,只是象征性处罚。

上述支付行业人士表示,虽然微信支付在实名认证环节存在争议,但目前监管机构没有对类似行为明确的处罚标准,这实际上削弱了支付新规的效力。

我要回帖

更多关于 微信支付限额 的文章

 

随机推荐