SQL注入经验分享(一)

渗透测试适可而止,本文章仅用于学习记录,切勿用于非法用途,一切后果与本人无关

寻找漏洞

一、使用google语法搜索

inurl="?id="

二、随便点击其中的几个网站开始测试

测试一:

 测试二:

发现漏洞

测试一

a、首先输入一个单引号试试水,很好直接报错,报错则说明我们的输入破坏了原有的sql语句,这样才能进行接下来的测试

 b、接着在后面使用" -- qwe"进行闭合,发现没有报错,可以证明这里百分之百有sql注入的,且已经闭合完成,大概的样式如下:

?id=38'  自己的恶意语句  -- qwe

 c、使用报错注入,大概样式如下:

?id=38' and extractvalue(1,concat(0x7e,database(),0x7e)) -- qwe

测试二

a、输入一个单引号,发现报错【?id=10'】,还给绝对路径带出来,可以看出这是一个linux系统

 b、那给它闭合后面的语句注释试试【?id=10' -- qwe】

c、接着尝试闭合但都是这样的情况,输入一个中文的符号都报错,就很郁闷,首先这位置百分百是存在sql注入的,就想着试试sqlmap,but这家伙一点都不给力,只能瞎点点其他页面,看有没有传参

 d、很好发现其他页面还有传参,接着对这个temoignage_id=8进行测试

 f、漂亮单引号报错,接着想着闭合,结果都是以失败告终,就很遗憾,难道现在应该放弃吗?当然不可能的,就很巧,上午看书的时候就看到一种注入手法,错误注入,样式如下:

?id=1/if((database()="hjw"),0,1)

这样就可以不用考虑如何闭合了,就很好,我们先试试这里参数是否可以进行运算

 g、这就很奈斯,那我们可以使用上面的方法进行测试了,这里我们使用的是报错函数配合这个if进行一起使用,可以有不一样的效果,成功的将库名爆出

?id=10&temoignage_id=8/if(extractvalue(1,concat(0x7e,database(),0x7e)),1,2)

 h、就很郁闷,在写文章的时候,闭合,就使用 -- 结果很意外的给闭合成功了,我还整这么多花里胡哨的干嘛,真难受。

?id=10&temoignage_id=8 and extractvalue(1,concat(0x7e,database(),0x7e)) -- qwe

i、那接着,我们再来看看开始我们起初测试的那个参数点【?id=10】,看看是否可以使用第二个参数点进行测试得出结果呢,很遗憾,结果都是没有结果,一直报错,这里应该是没有注入点的,但这里直接给绝对路径报出来了,也是漏洞

心得体会:

测试没必要纠结一个点,多测试几个点,他们一个点可能过滤的很好很干净,但一个网站这么多传参的地方百密总有一疏。

多多学习,学习新的手法,这样以后测试才能不这么局限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值