0
点赞
收藏
分享

微信扫一扫

记一次注册功能处Mysql手工报错注入

爱上流星雨 2022-04-01 阅读 56

记一次注册功能处Mysql手工报错注入

知识点:报错注入是使用一些指定的函数来制造报错,从而从报错信息中获取设定的信息,比如select/insert/update/delete都可以使用报错来获取信息,报错注入的使用前提条件,是后台没有屏蔽数据库的报错信息,在语法发生错误的时候会显示在客户前端页面。

/分割/\\\\\\线\\\\\\\\\\\

安卓app除了反编译apk外,各功能点也有几率存在漏洞,甚至攻防演练的时候也可以从app资产寻找突破口。

在一次项目中遇到安卓app

尝试在其的注册处、查看审核进度处进行sql注入,

图片

随意地输入手机号和验证码,

点击立即注册功能处抓包,

在mobile参数处使用单引号破坏语句闭合

图片

报错,判断有注入漏洞

图片

此时单纯的我直接用了sqlmap对它一顿操作,

于是乎被封了ip,判断有waf拦截恶意流量。

图片

换了个ip尝试手工注入,发现注入点检测空格报500错误,于是用+代替空格。

?mobile=152xxxxxxxxx’and+1=1+

图片

报错,语句也展现出来。这无疑给作为菜狗的我提供了很好的锻炼学习机会。

划红线这段是用来计算当前时间的,可以忽略,所以这里应该是我的单引号没闭合正确。

试试’and/**/‘1’='1

(这时候其实我等了半小时,因为换了ip还是不能访问,瑟瑟发抖以为把网站搞崩了,也或许只是请求太多服务器那边撑不住。。所以还是少用工具的好)

网站恢复后使用’or/**/‘1’='1试试

图片

响应包↓

图片

尝试’and/**/‘1’='2

图片

尝试’or/**/‘1’='2

图片

这个时候判断可以尝试报错注入

掏出公司大佬给的mysql手工注入学习笔记直接复制语句粘贴上去看看效果(感谢公司大佬,每次遇到mysql手工注入我都会掏出这本“秘籍”来CV一下)

图片

报错注入是使用一些指定的函数来制造报错,从而从报错信息中获取设定的信息,比如select/insert/update/delete都可以使用报错来获取信息,报错注入的使用前提条件,是后台没有屏蔽数据库的报错信息,在语法发生错误的时候会显示在客户前端页面。

常用的报错函数:

updatexml():该函数是MYSQL对XML文档数据进行查询和修改的XPATH函数,作用是(查找并替换XML文档中符合条件的节点的值)

使用语法如下:

updatexml (xml_document, XPathstring,new_value)

  • 第一个参数:fiedname是String格式,为表中的字段名

  • 第二个参数:XPathstring(Xpath格式的字符串)

  • 第三个参数:new_value,String格式,替换查找到的符合条件的

kobe’ and updatexml(1,version(),0)# //爆版本号,显示可能不够全面可使用concat拼接上~(0x7e)

kobe’ and updatexml(1,concat(0x7e,version()),1)# //爆版本号

kobe’ and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database())),1)# //爆表

于是乎复制粘贴暴出版本号:

图片

version换成database查询数据库名

图片

点到为止,写报告。

如果是在攻防演练中可以尝试进一步利用。

举报

相关推荐

0 条评论