首页 » PHP教程 » phpsql不等技巧_记一次SQL注入Bypass过程

phpsql不等技巧_记一次SQL注入Bypass过程

访客 2024-12-05 0

扫一扫用手机浏览

文章目录 [+]

序言

某日溘然对肥宅的生活感到了厌倦,竟连肥宅快乐水喝起来也枯燥乏味,我须要改变!
想起胖友几天前发的一个灰色性子网站,恰好测试一下丁宁韶光。
直入主题,通过访问网站创造须要输入密码,地址栏有通报参数,手工测试加引号报错,初步判断存在SQL注入。

phpsql不等技巧_记一次SQL注入Bypass过程

链接:http://xxxx.com/login.php?id=1'

phpsql不等技巧_记一次SQL注入Bypass过程
(图片来自网络侵删)

创造Get传入id参数,直接加引号

如上报错,且显示了数据库查询语句,select from catconfig where id='1''。

一样平常来说到这里,可以直接扔进Sqlmap跑,我作为一个肥宅主义者-

如上,Sqlmap报一大片刺眼的赤色光芒让我的眼睛发疼,我知道这不是一个大略的站,“连接被重置”简大略单五个字让民气凉凉,这个站看似漏洞百出,实则暗藏玄机。
根据我多年的打算机根本知识判断,这站该当是有WAF,只有WAF才能如此绝不讲道理,如此狠心,乃至没任何提示的就把我IP拉黑了,一样平常来说waf拉黑IP是有韶光限定的,10-40分钟不等,可以设置。
于是在等待的韶光里,我进行信息网络。

正常的测试流程,信息网络该当是最先做的。
不过我是个肥宅,不到必不得已,我很可能就忽略不网络了。

信息网络

在被拉黑的这段韶光里,我网络了一些基本信息,如下

1、IP:x.x.x.x xx省xx市阿里云

2、独立做事器,无旁站

看到阿里云我溘然就明白了,阿里云盾防护,难怪被拉黑了。
此处透露一个可能人尽皆知的小技巧,阿里云盾不拦截阿里云自身的做事器,以是如果用阿里的ECS去跑就不会被拦截。
不过我作为一个肥仔,能省一杯快乐水的钱则省一杯,不到必不得已,我不会去开通阿里云的ECS的。

过了差不多数个小时,我创造我的访问规复了,顺带网络一下做事器环境信息。

1、容器:Nginx(访问不存在的目录,404页面)

2、系统:Linux(通过大小写判断,Linux对大小写敏感,Windows大小写不区分)

3、数据库:Mysql(引号报错)

4、脚本:php

(不瞎都看的出来)

在获取上述信息后,进行下一步的测试。

两层防护?

于是又回到原点,我看着这个主页面,页面悄悄的看着我,貌似在说:来啊,小老弟,怕你不成。
此时我想点支烟,但我溘然想起没有打火机,再一想,我根本不吸烟啊,于是我喝了一口快乐水,嗝~。

手工测试,顺手and1=1,返回

噗,这不是360安全主机吗?除了阿里云盾还有360安全主机?

于是开始了猖獗的Fuzz,觉得想用unionselect去查询是很困难的了,测试中创造利用报错注入能成功Bypass。
如下:

exp(~(selectfrom(select%20user())x));--+

布局为:http://xxxx.com/login.php?id=1'and exp(~(selectfrom(select user())x));--+

如上,可以获取当前的数据库用户,附常用的函数,分别进行测试

1.version()——MySQL版本

2.user()——数据库用户名

3.database()——数据库名

4.@@datadir——数据库路径

5.@@version_compile_os——操作系统版本

此外,在该站点的其余一处注入点处,创造表名cat_members

此处先假定admin用户也存在cat_members表中,根据多年的打算机根本知识,一样平常列名为username,password。
为什么这样,由于

那么我的查询语句该当是:

但是当试图读password数据时

于是进行测试,创造以下规律:

当涌现Selectfrom时会进行拦截

于是全体测试重点变成了如何BypassSelect from 语句。

思考考试测验

由上,测试紧张受阻于拦截了Selectfrom语句,于是我抄起键盘一顿百度加论坛乱搜,找到了大佬们以前的bypass方法。

搜索到的一些Payload

1、/!12345select///from

2、/!50001select/from

3、Select//column_name//from

4、/!/!select/column_name/!/!from/

5、空格用/!/代替

6、%53elect/!1,2,schema_name%0aFROM

7、Get+Post,编码,超长内容等等。

以上网络来源于土司论坛及百度搜索。

但测试创造只要带//这样就直接拦截了,以是上述的payload在此处都失落效。

根据如上的测试,判断是通过正则进行匹配,只要匹配到某些字符则进行拦截

测试到这里,我已经很怠倦了,200斤的身体也开始逐步透支,力不从心,于是我缓缓翻着网页上的搜索结果,连续逐个测试,竟然创造了转机。

打破总结

可能是真的运气好,真好,来日诰日会更好,大家好,我是陆超。
呃,回到话题,在先知论坛的一篇文章中,我的WafBypass之道(SQL注入篇)中,找到了一个Bypass方法。

链接:https://xz.aliyun.com/t/368

Payload:%23%0a

此处确实运气好,成功猜到了admin用户在cat_members,且列名为username、password。
如果不是的话,可以利用以下方法,逐个获取,先获取表,在获取列名,不过需把空格更换为以上的payload。

接上,解密一下,登录即可

总结:

网上bypass的文章有很多,不过还是要结合实际进行测试,很多时候运气与坚持也占了很大成分,作为幸运肥宅,我不会轻易低头。
后续创造此为匹配规则如下,作为小白,看得我脑壳疼,欢迎各位大佬指教。

文章仅用于遍及网络安全知识,提高小伙伴的安全意识的同时先容常见漏洞的特色等,若读者因此作出危害网络安全的行为后果自大,与合天智汇以及原作者无关,特此声明!

标签:

相关文章

php转c技巧_C转C的一点分享

前几天看到这样一篇博客《那些年·我们读过的专业书本》,里面列了很多大家认为很好的书,加上自己在自学C++的工程中也看了不少书,觉得...

PHP教程 2024-12-07 阅读0 评论0