SQL注入
文章平均质量分 50
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
夏了茶糜
这个作者很懒,什么都没留下…
展开
-
SQL注入漏洞学习文章索引
1、SQL注入靶场搭建2、SQL注入入门(联合注入)3、报错注入4、布尔盲注5、时间盲注6、利用SQL注入读写文件7、宽字节注入8、正则表达式注入9、MySQL绕过secure_file_priv利用慢查询写shell10、CTFHUB注入...原创 2021-05-27 16:06:39 · 156 阅读 · 0 评论 -
SQL注入靶场搭建
1、SQLi-Labs是什么?SQLi-Labs是一个专业的SQL注入练习平台。2、环境下载SQLi-Labs下载地址:https://github.com/Audi-1/sqli-labsPHPstudy下载地址:https://www.xp.cn/download.htmlphpStudy是一个PHP调试环境的程序集成包。恰好我们可以用到"PHP+Mysql+Apache"。3、环境搭建将下载的 SQLi-Labs.zip 解压到phpstudy网站根目录下设置为My原创 2021-05-27 15:37:16 · 598 阅读 · 2 评论 -
MySQL绕过secure_file_priv利用慢查询写shell
通常情况下,找到一个注入点后,或者进入到一个网站的phpMyAdmin时,想通过into outfile写shell时,会通常会报错这是因为MySQL配置文件中的secure_file_priv的值默认为NULL。只有当他为非空值的时候才可以利用into outfile写文件。我们可以利用日志来进行写shell,然后利用文件包含漏洞来包含日志文件,从而拿到服务器一定的权限。利用慢查询来写shell1、设置slow_query_log=1.即启用慢查询日志(默认禁用)set global slow原创 2021-04-29 09:45:02 · 2673 阅读 · 0 评论 -
正则表达式注入(REGEXP注入)
应该场景就是盲注,原理就是直接查询自己需要的数据,然后通过正则表达式进行匹配,实用场景如下MySQL Payloadand 1=(SELECT 1 FROM information_schema.tables WHERE TABLE_SCHEMA="security" AND table_name REGEXP '^e' LIMIT 0,1) ‘^e[a-z]’ -> ‘^em[a-z]’ -> ‘^ema[a-z]’ -> ‘^emai[a-z]’-> ‘^email[原创 2021-04-14 16:05:35 · 1612 阅读 · 0 评论 -
SQL注入(宽字节注入)
文章目录前言一、环境二、宽字节注入漏洞代码三、宽字节注入原理四、宽字节注入漏洞测试前言在注入时通常会使用单引号、双引号等特殊字符。在应用中,通常为了安全,开发者会开启php的magic_quotes_gpc,或者使用addslashes、mysql_real_escape_string等函数对客户端传入的参数进行过滤,则注入的单引号或双引号就会被"\"转义,但是,如果服务端的数据库使用的是GB2312、GBK、GB18030等宽字节的编码时,则依然会造成注入。一、环境PHP 5.4.45原创 2021-03-28 15:05:27 · 241 阅读 · 0 评论 -
CTFHub SQL注入
ctfhub的SQL注入中的flag是动态生成的1、整数型注入1、按照提示输入1发现直接给出了SQL语句,根据给出的SQL语句可以判断出直接使用联合查询即可2、先使用order by判断字段数首先使用order by 3 ,页面无回显,改为2之后页面显示正确。因此判断当前数据库当前表,共有2个字段。3、使用联合查询,判断页面显示位首先将id改为一个不存在的纸,根据联合查询的特性,就会返回11111,222222然后显示在页面上。4、查询数据库版本5、查询当前数据库6、查询所有数原创 2021-02-09 13:10:42 · 1152 阅读 · 1 评论 -
sqli-labs Less-20(cookie注入)
本篇文章使用的环境为sqli-labs Less-20不懂为什么使用账户admin:admin登陆后页面没有正常返回cookie,所有我使用工具添加了一条cookie信息,使用burp suite抓取流量包1、修改cookie值,发现是使用单引号闭合的此处可以看到页面存在报错信息,可以使用报错注入2、判断字段数通过使用order by 进行判断,发现存在3个字段3、尝试使用联合查询(使用联合查询时,需要使前面的查询语句结果为假),判断当前页面是否有显示位可以看到当前页面存在显示位置原创 2021-02-03 19:10:34 · 381 阅读 · 0 评论 -
sqli-labs Less-19(HTTP-Referer注入)
通过在Referer后面加上单引号和双引号测试,猜测SQL语句大致为insert into xxx(a,b,c) values('','','')发现这样的payload可以时sql语句正常执行经过尝试,发现可以使用报错注入,利用extractvalue()函数成功爆出数据库版本号。...原创 2021-02-03 19:10:17 · 292 阅读 · 0 评论 -
sqli-labs Less-8(布尔盲注)
布尔盲注其实就是构造一个SQL语句,当语句成立时,页面会返回特点的标识,语句不成立是返回其他,或无数据。因此我们可以构造一个判断语句,利用页面的返回结果来得知判断语句是否正确。再学习布尔盲注之前,一些常用函数如下:length(): 返回字符串长度。substr(str, start, len): 截取str,从start开始,截取长度为len。ascii(): 返回字符串的ascii码。1、判断共有几个数据库payload?id=1' and (select count(schema_na原创 2021-02-11 20:19:19 · 618 阅读 · 0 评论 -
sqli-labs Less-7(SQL注入文件读写)
在使用sqli-labs Less-7测试的时候一直有问题,无奈改用Less-1winserver的iis默认路径c:\Inetpub\wwwrootlinux的nginx一般是/usr/local/nginx/html,/home/wwwroot/default,/usr/share/nginx,/var/www/htm等apache 就…/var/www/htm,…/var/www/html/htdocsphpstudy 就是…\PhpStudy20180211\PHPTutorial\WWW原创 2021-02-04 14:37:05 · 383 阅读 · 0 评论 -
sqli-labs Less-6(双注入)
1、判断SQL语句是使用什么闭合的使用双引号闭合。2、判断有几个字段payload?id=1" order by 3 --+存在3个字段3、爆出数据库版本和当前数据库名payload?id=1" union select 1,2,count(1) from information_schema.tables group by concat(floor(rand(0)*2),version()) --+?id=1" union select 1,2,count(1) from info原创 2021-02-02 19:54:13 · 651 阅读 · 0 评论 -
sqli-labs Less-6(时间盲注)
前几篇sql注入文章sqli-labs Less-1(联合注入、字符型注入)sqli-labs Less-2(联合注入、整形型注入)sqli-labs Less-3(联合注入、字符型注入)sqli-labs Less-4(联合注入、字符型注入)sqli-labs Less-5(利用extractvalue进行报错注入)sqli-labs Less-5(双注入)sqli-labs Less-5(布尔盲注)时间盲注常用函数sleep()原创 2021-02-02 12:04:22 · 263 阅读 · 0 评论 -
sqli-labs Less-5(布尔盲注)
前几篇sql注入文章sqli-labs Less-1(联合注入、字符型注入)sqli-labs Less-2(联合注入、整形型注入)sqli-labs Less-3(联合注入、字符型注入)sqli-labs Less-4(联合注入、字符型注入)sqli-labs Less-5(利用extractvalue进行报错注入)sqli-labs Less-5(双注入)布尔盲注其实就是构造一个SQL语句,当语句成立时,页面会返回特点的标识,语句不成立是返回其他,或无数据。因此我们可以构造一个判断语句,利原创 2021-01-31 22:11:26 · 671 阅读 · 0 评论 -
sqli-labs Less-5(双注入)
前几篇sql注入文章sqli-labs Less-1(联合注入、字符型注入)sqli-labs Less-2(联合注入、整形型注入)sqli-labs Less-3(联合注入、字符型注入)sqli-labs Less-4(联合注入、字符型注入)sqli-labs Less-5(利用extractvalue进行报错注入)参考https://blog.csdn.net/weixin_43901998/article/details/105227678https://mochazz.github原创 2021-01-31 14:17:38 · 166 阅读 · 0 评论 -
sqli-labs Less-5(利用extractvalue进行报错注入)
前几篇sql注入文章sqli-labs Less-1(联合注入、字符型注入)sqli-labs Less-2(联合注入、整形型注入)sqli-labs Less-3(联合注入、字符型注入)sqli-labs Less-4(联合注入、字符型注入)作者水平有限,如发现错误请指出。1、通过观察发现,不管id等于几均显示You are in…。猜测无回显可使用联合注入验证猜测利用order by 判断出有3个字段2、加单引号发现为字符型注入,发现页面有错误回显3、尝试使用extractva原创 2021-01-30 21:32:43 · 1324 阅读 · 0 评论 -
sqli-labs Less-4
sqli-labs Less-4本系列文章使用的靶场环境为sqli-labs环境下载地址:https://github.com/Audi-1/sqli-labs持续跟新,一直到通过此靶场为止1.判断注入类型index.php?id=1"单引号回显正常,双引号会报错然后根据报错,我们可以得知这个sql注入页面的使用双引号和括号进行闭合。2.猜...原创 2020-04-03 13:33:36 · 351 阅读 · 0 评论 -
sqli-labs Less-3
本系列文章使用的靶场环境为sqli-labs环境下载地址:https://github.com/Audi-1/sqli-labs1.判断注入类型index.php?id=1'从这里可以猜出Less-3为单引号括号')的字符型注入,下面我们可以验证一下。index.php?id=1') --+2.猜字段数index.php?id=1')...原创 2020-04-02 11:04:39 · 242 阅读 · 0 评论 -
sqli-labs Less-2
sqli-labs Less-21.判断注入类型2.测试字段数3.使用联合查询查看页面的显示位4.爆出数据库版本和当前数据库名5.爆出所有数据库6.爆出当前数据库所有表7.查询当前数据库users表所有字段8.查询数据1.判断注入类型index.php?id=1*1index.php?id=1*2测试得知为整形注入2.测试字段数index.php?id=1 order by 4#...原创 2020-03-31 14:35:06 · 228 阅读 · 0 评论 -
sqli-labs Less-1
sqli-labs Less-11.字符型SQL注入的关键是单引号的闭合2.MySQL数据库对于单引号的规则如下:3.如何判断是否是字符型注入4.猜字段数方法一:方法二:4.使用联合查询查看页面是否有显示位5.爆出数据库版本和当前数据库名6.爆出所有数据库7.爆出当前数据库所有表8.查询当前数据库users表所有字段9.查询数据MySQL中的information_schema数据库表说明:...原创 2020-03-30 22:34:42 · 286 阅读 · 0 评论