如图所示,sql注入

一、数字型注入

既然是post那我们拿burp抓一下包

id=2,我们改一下sql最常用的语句2 or 1=1发现注入成功

二、字符型注入

直接上语句1‘ or 1=1 #

出来了,下一个受害者

三、搜索型注入

发现他会匹配出现的所有username

又是正常的注入语句,并没有waf,依旧可以注入出来

四、xx型注入

这次直接上发现错误,说明这次有了一定的防御

结果发现他只是换了一种闭合方式,还是没有waf进行防御

五、insert/update注入

注册了用户名为zerben密码为123的账号

进入后发现

发现不是很行,insert注入肯定是在注册时候进行的,再次尝试,发现其注册并无过滤,直接奥里给,z' or updatexml(1,concat(0x7e,database()),0) or'

注出其数据库为pikachu

update注入在登陆后点击修改个人信息,无论修改哪个都一样,均无过滤

payload相同,也是直接注出其数据库

六、delete注入

既然是delete注入那就肯定在删除那里。先随便留言一下

删除后发现无提示直接删除,开启burp抓包

在url上改GET /pikachu/vul/sqli/sqli_del.php?id=57+or+updatexml(1,concat(0x7e,dabase()),0)

的确找到了pikachu的数据库但有些小问题,但语句是正确的。

六、http header 注入

根据提示进入后台

用burp抓包,根据名字测试http头注入,发现有注入点

用之前的爆数据库的payload,发现

发现爆出成功

八、盲注boolian

发现只能存在kobe' and 1=1 #连or 都会报错

于是利用and来构造payload

kobe' and ascii(substr(database(),1,1))=112 #

来一个个进行测试,爆出database

不对的话就会出现用户名不存在,正确的话就会出现用户正确信息,可采用二分法来减少盲注次数

九、盲注time

根据上题经验

发现其存在时间盲注,只要kobe存在就会执行后面的响应五秒延迟

根据这个在加上测试

payload: kobe' and if((substr(database(),1,1))='p',sleep(4),null) #

此时412ms就返回结果,说明数据库名第一位是p
将p改为a,则1ms返回结果
说明数据库名第一位是p

WEB攻击与防御技术 pikachu——sql注入的更多相关文章

  1. 常见【十种】WEB攻击及防御技术总结

    最近参加了一个WEB安全培训,感觉WEB攻击跟防御都是挺有意思的.以下总结比较简短,仅供观赏哈. 一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的 ...

  2. web攻击与防御技术--SQL注入

    sql注入是WEB安全中比较重要而复杂的一个东西.而且危害性比较大. 一般来讲SQL注入的话首先要识别注入点.一个是看能不能注入另外一个是看是什么类型的注入比如说字符,数字,搜索(?)等等 GET.P ...

  3. web攻击之零:WEB攻击及防御技术汇总

    一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的内容文本,如果服务器端没有过滤或转义这些脚本,而这些脚本由通过内容的形式发布到了页面上,这个时候如 ...

  4. web攻击与防御技术-平台搭建与暴力破解

    平台搭建是首先安装xampp并把pikachu的压缩文件解压在HTdocs下 然后 点击后显示 安装成功 首先随便输入一些东西 然后用burpsuite抓包 对username和password字段进 ...

  5. web攻击之八:溢出攻击(nginx服务器防sql注入/溢出攻击/spam及禁User-agents)

    一.什么是溢出攻击 首先, 溢出,通俗的讲就是意外数据的重新写入,就像装满了水的水桶,继续装水就会溢出,而溢出攻击就是,攻击者可以控制溢出的代码,如果程序的对象是内核级别的,如dll.sys文件等,就 ...

  6. Web安全相关(五):SQL注入(SQL Injection)

    简介 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据 ...

  7. WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)

    对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...

  8. WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案

    对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...

  9. web攻击和防御措施

    1.SQL注入:参照下面的链接 http://www.cnblogs.com/chenhaoyu/p/8758888.html 2.跨网站脚本攻击(Cross Site Scripting, XSS) ...

  10. Web安全相关(五):SQL注入(SQL Injection)

    简介 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据 ...

随机推荐

  1. Linux 第五节 (shell脚本while循环,case,计划任务,用户及权限)

    #!/bin/bash #this is a test script PRICE=$(expr $RANDOM % 1000)   //将随机得出的数字取余 TIMES=0 while true do ...

  2. 2023-03-01 'react-native' 不是内部或外部命令,也不是可运行的程序 这个报错是因为你没有全局安装react-native的脚手架,请执行下面代码全局安装react-native脚手架👇

    问题描述:想要初始化一个新的rn项目,执行[react-native init myApp --version 0.68.2],报错:'react-natvie' 不是内部或外部命令,也不是可运行的程 ...

  3. Go--求数组奇偶数之和

    package main //申明main包 import "fmt" // 导入fmt标准库 func main() { arr := [...]int{01, 11, 22, ...

  4. Jquery 简单实现demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. path.resolve和path.resolve的用法

    前言:要搞清楚path.join()和path.resolve的具体作用,最好自己搞个文件,用node跑一遍去测试一下.只有自己亲自动手实践了,才知道具体是怎么回事,才能真正的理解 一.path.jo ...

  6. Springboot开发微信支付API-V3

    前段时间因为项目需要对接微信支付,原本打算拿之前开发好的代码用就行了,后面发现微信支付升级API-V3了,和V2相比安全措施多了很多.最麻烦的就是各种证书的管理.加载. 作者自己也对接过N多支付系统了 ...

  7. https://www.cnblogs.com/DKSoft/category/608549.html

    https://www.cnblogs.com/DKSoft/category/608549.html

  8. cpp chrono basic

    // cpp 20 //c++ - Number of seconds since midnight - Stack Overflow //https://stackoverflow.com/ques ...

  9. win10 安装mariadb

    在MariaDB10.2.17 以前.解压后在目录下看到my-huge.ini.my-innodb-heavy-4G.ini.my-large.ini.my-medium.ini.my-small.i ...

  10. Java Swing 防止键入手Key 的实现方法

    实现思路,启动一个线程每隔0.1秒去比较文本里字符长度变化,如果文本变长了,这个情况间隔时间超过2秒,则认为是人工键入. 对于字符串较多,且包含数字和字母的情况,比较适用. class KeyCode ...