sql注入
15节 学会sql注入
小人物jc
渗透测试 新手
展开
-
class-15过安全狗
过安全狗首先,我们要介绍一下安全狗, 安全狗(waf) , 就是可以通过一些过滤来达到预防攻击效果。安全狗怎么安装?http://free.safedog.cn/website. safedog.html下载apache版本记住: - 定要改成系统服务这种情况:思路首先要判断狗狗识别的是哪一个关键字? 怎么判断,在前面,加上干扰字符。比如a判断狗狗拦截的union select而并非...原创 2020-02-20 16:14:16 · 165 阅读 · 0 评论 -
class14---注释符的过滤注入
注释符的过滤如何绕过对应sqlilabs less23首先,明确一个问题如何过滤注释符号?使用preg_replace函数注释注入在这里就不工作,那么怎么办呢?注入,不一定使用注释,也可以构造闭合。闭合不好之处,就在执行点少怎么操作?两种方法:第一种,union select强制闭合:select * from users where id=’$id’payload:-1 ...原创 2020-02-20 16:13:47 · 242 阅读 · 0 评论 -
class13--二次注入
sglilabs less24二次注入什么原理?二次注入,就是将攻击语句写入到数据库,然后寻找合适的点进行sql数据库中语句的拼接,比如update更改密码首先说明,seay查询远程数据库数据,必须先开启mysq|远程访问权限。UPDATE users SET PASSWORD=‘xrw1 23456’ where username=‘xrw’ and password=‘123’id传...原创 2020-02-20 16:12:55 · 226 阅读 · 0 评论 -
class12--sql布尔盲注,(时间盲注)
基于布尔的盲注(盲注在没有回显的情况)用报错注入不行么?盲注和普通注入的区别:盲注:一个一个猜(兼容性好,应用广,效率低)普通注入:直接获取(兼容性差,应用窄,效率高)第一步:获取当前数据库盲注中,获取数据库的语句是需要一个一个进行猜解获取数据库第一步:获取数据库名称长度 用到length函数length(database())=3盲注必须使用and,并且,不能使用“-”让他...原创 2020-02-19 20:31:04 · 130 阅读 · 0 评论 -
class11--PHP操作mysql数据库并回显数据
PHP数据库操作,只要把你操作数据库的语句放到PHP里就ok了通过PHP的mysql_query函数进行操作在操作前,要连接数据库,使用mysql_connect函数如何写一个代码,让数据被查询,然后回显分几步:一般我们都会在这两个语句前面加上error_reporting(0);第一步:传入id的值:id=id=id=_GET[“id”];第二步:连接数据库服务系统:con=...原创 2020-02-19 20:29:49 · 479 阅读 · 0 评论 -
class10--update,delete注入
update注入update users set username=‘tonynnnnn’,password=‘tonynnnn’,sex=‘man’ where id=‘3’注入payload:‘or updatexml(1,concat(0x7e,(version()),0x7e),0) or’带入就是update users set username=‘tonynnnnn’,pass...原创 2020-02-19 20:28:47 · 133 阅读 · 0 评论 -
class9--insert注入
如何向数据库插入数据?sql语句:insert into users (id,username,sex,password) values (6,‘xrw’,‘man’.‘123546’);在这种情况下,应该如何操作可以达到一个注入的效果?updatexmlpayload:‘or updatexml(1,concat(0x7e,(version()),0x7e),0) or’拼接进去:...原创 2020-02-19 20:28:04 · 340 阅读 · 0 评论 -
class8-报错注入, updatexml, extractvalue, 非法传参,导致报错
报错注入(Sqlilabs Less5)为什么需要报错注入?在实际场景中,如果没有一个合适的数据返回点,而是仅仅带入sql数据库进行查询,就需要报错注入。SELECT * FROM users WHERE id=’$id’ LIMIT 0,1 正常进行绕过,但是在less5没有数据回显,断定为报错注入1,extractvalueand extractvalue(null,concat(...原创 2020-02-19 00:00:03 · 238 阅读 · 0 评论 -
class7--mysql加解密注入及宽字节注入
mysql加解密注入:加解密,base64, md5,或者自己写,要求对传参进行解密,%df,希腊字母β,占两个字节,覆盖前面的很多情况下,网站管理员经常会对传进的参数进行一个加密的操作,加密很可能自己写,也有可能base64,md5等等常见的加解密注入应该如何操作?base64加解密函数base64_encode(),base64_decode()这种情况下,应该传1的base64编码...原创 2020-02-18 23:59:33 · 245 阅读 · 0 评论 -
class6--HTTP头注入及参数类型注入
HTTP头部注入如果uagent这里,有一个sql查询,就可以通过uagent进行sql注入GET / HTTP/1.1Host: ie.icoa.cnUser-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0Accept: text/html,application/xhtml...原创 2020-02-18 23:58:47 · 243 阅读 · 0 评论 -
class5请求方式,POST和COOKIE也可以去请求
多种请求方式注入大家有没有发现过,之前讲的无论是什么注入,都是以GET请求发送出去的,以其他请求发送出去的会不会存在“注入点”呢?如果它存在,我们怎么去利用呢?请求方式GET 最常见的请求方式POST 一般用于登录框COOKIE 想用哪里用哪里SqliLabs中Less11就是POST请求方式注入只需要在登陆框内提交sql注入语句-1’ union select 1,2 #...原创 2020-02-18 23:58:16 · 126 阅读 · 0 评论 -
class4-sqlmap使用
sqlmap神器使用sqlmap使用(仅仅读取数据):1,获取当前所有数据库sqlmap -u “http://127.0.0.1/sql/Less-1/?id=1” --dbs --batch2,获取当前数据库a中的所有表sqlmap -u “http://127.0.0.1/sql/Less-1/?id=1” -D security --tables --batch3,获取数据库a...原创 2020-02-18 23:57:38 · 146 阅读 · 0 评论 -
class3--mysql高权限用户注入操作,getshell
mysql注入文件写入,要求secure_file_privy必须为空,并且,必须是root用户,用到函数,intooutfilemysql注入高权限文件操作目的:发现了注入点,还想进一步渗透,写入文件来getshell写入PHP EVAL 一句话木马<?php eval($_POST["pass"])?>mysql如何写入文件的呢?写入php一句话木马有一个前提:我们的木...原创 2020-02-18 23:55:20 · 473 阅读 · 1 评论 -
class2 跨库注入
跨库注入,新增知识点information_schema.schemata,存储所有的数据库信息如果要应用跨库注入,有一个条件,那就是当前数据库用户必须为root用户,才可以对整个数据库进行操作确定用户:user()确定用户如果回显为root@localhost或者root@127.0.0.1只要@号前面为root,则代表该数据库用户为root跨库注入过程:第一步:获取当前所有的数据...原创 2020-02-18 23:53:52 · 235 阅读 · 0 评论 -
class1-SQL注入如何获取数据,
第1天: SQL注入如何获取数据,主要information_ schema数据库, 存储有所有的信息, union select联合查询。SELECT * FROM users WHERE id=‘4’对他进行分析– + Mysql注入中最常见的注释符号–这个才是Mysq真正的注释符号+号会被浏览器进行url编码,编码成一 个空格如何突破: SELECT * FROM users W...原创 2020-02-18 23:53:14 · 190 阅读 · 0 评论