![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL注入
文章平均质量分 55
sql注入
开心星人
信安之路,道阻且长
展开
-
sql注入关键字过滤fuzz字典
sql注入关键字过滤fuzz字典。原创 2022-08-13 22:22:40 · 1974 阅读 · 0 评论 -
[GXYCTF2019]BabySQli (union查询之虚拟数据问题)
过滤了information_schema.tables把报错注入和union注入、盲注都断掉了,不知道大小写能不能绕过,可以尝试一下。应该是过滤了一些关键字,尝试替换or 为。过滤了括号,就很难受了,没法报错注入了。注意设置线程不要过高,可能直接扫崩了。因为过滤了or,进行一个大小写绕过。直接fuzz测试过滤了哪些关键字。对username进行注入测试。应该是绕过了,但是没有登录成功。sql注入fuzz字典。.........原创 2022-08-13 22:21:50 · 608 阅读 · 0 评论 -
强网杯 2019-随便注 (堆叠注入)
我们通过rename或alter,就是把words表改成words1或者其他名字,然后把数字表名改成words,然后在把新的words里面的flag字段名称修改成id。我们查看数字表,反单引号(`)是数据库、表、索引、列和别名用的引用符,如果是纯数字的表就需要加反单引号,如果不是就不需要加或者加上也无所谓。发现过滤了很多关键字,所以不可以用union注入了。同样报错注入也是用不了的,因为报错注入的语句和union注入的语句相同。看到words表中的字段,我们发现底层的sql语句就是直接查询的words表。.原创 2022-08-07 20:01:20 · 2761 阅读 · 0 评论 -
SQL注入 Less54(限制次数的SQL注入+union注入)
每次reset,数据库的表名、字段名和数据都会发生改变。回显正常,直接排查双引号开头的闭合方式。单引号回显正常,所以是单引号闭合。限制次数的SQL注入。原创 2022-07-30 20:46:47 · 442 阅读 · 0 评论 -
SQL注入 Less47(报错注入) 和Less49(时间盲注)
Less47和Less49都用不了rand()布尔盲注因为有单引号闭合这条语句显然是执行不了的。原创 2022-07-30 20:32:43 · 484 阅读 · 0 评论 -
SQL注入 Less46(order by后的注入+rand()布尔盲注)
对users表随机进行排序。rand()返回的是一个0-1的浮点数,order by 后面跟的是列名或列号。这里其实可以理解成users表中增加了一个rand字段,字段值是随机产生的。根据该rand字段来对users表进行排序。所以就到达了随机排序的效果...原创 2022-07-30 19:51:49 · 775 阅读 · 0 评论 -
updatexml、extractvalue和floor报错注入原理
当floor(),count(),groupby遇到一起在from一个3行以上的表时,就会产生一个主键重复的报错,而此时你把你想显示的信息构造到主键里面,mysql就会通过报错把这个信息给你显示到页面上。SQL报错注入的应用当使用extractvalue(xml_frag,xpath_expr)函数时,若xpath_expr参数不符合xpath格式,就会报错。符号,就会产生xpathsyntaxerror(xpath语法错误),通过使用这个方法就可以达到报错注入的目的。......原创 2022-07-29 14:37:43 · 1217 阅读 · 0 评论 -
SQL注入 Less42(POST型堆叠注入)
只对username进行了转义操作,而没有对password,所以password是个突破口。那么结果则是整张users表。而Dumb处于第一行,因此登录进去的就是Dumb。这题的页面和二次注入类似,但是我们没法注册用户,所以也就没法使用二次注入。但为什么我们输入的是admin但是登录进去的却是Dumb呢。而and的优先级是高于or的。用万能密码来测试一下password。用password进行堆叠注入。...原创 2022-07-28 20:28:57 · 437 阅读 · 0 评论 -
SQL注入 Less38(堆叠注入)
mysqli_fetch_row()函数从结果集中取得一行,并作为枚举数组返回。mysqli_store_result()转移上一次查询返回的结果集。再看这一题,可以和Less1一样,用union注入,可以用来查询数据。所以页面只展示第一条查询的结果。所以我们这里用堆叠注入是查不出数据的,但是。这里我用堆叠注入试了试几个payload。...原创 2022-07-28 18:49:19 · 554 阅读 · 0 评论 -
SQL注入 Less29(参数污染绕过WAF)
java_implimentation函数,是想要模拟HTTP参数污染中的另一个中间件的不同解析结果(因为我们当前的真实环境是只有Apache,Apache的参数污染时候解析为last),该函数模拟成解析为first。一共有三个文件login.php、hacked.php、index.php。要求我们的id必须要是数字,否则就跳转到hacked.php界面。首先我们分析whitelist函数。然后进行常规的UNION注入即可。是我们GET传参的所有参数。就饶过了这个WAF了。...原创 2022-07-27 17:49:34 · 902 阅读 · 0 评论 -
SQL注入 Less26a(布尔盲注)
获得security数据库中users表中的username字段的第一个字符。获取security数据库中users表中第一个字段的第一个字符。猜测数据库中第一张表的第一个字符。猜测数据库中第一张表的第一个字符。因为过滤了空格,用括号分割查询语句。猜测数据库名称的第一个字符。首先需要判断闭合方式。...原创 2022-07-27 14:44:04 · 511 阅读 · 0 评论 -
SQL注入 Less26(过滤空格和注释符,使用不带空格的报错注入)
由于Windows下无法使用一些特殊字符来替换空格,Linux可以,可以去Linux下尝试。这个问题,之前报错注入也出现过,可能是多出了Limit0,1导致构不成整条语句了。不能够正常的提交给服务器,所以我们必须输入他的url编码。用括号()将每个查询的部分独立开。尝试了一下,发现绕过不了空格。前后都必须要有空格,所以使用。%26是&的url编码。...原创 2022-07-26 19:18:15 · 939 阅读 · 0 评论 -
SQL注入 Less24(二次注入)
第一次进行数据库插入数据的时候,使用了addslashes、get_magic_quotes_gpc、mysql_escape_string、mysql_real_escape_string等函数对其中的特殊字符进行了转义,在下一次进行需要进行查询的时候,直接从数据库中取出了脏数据,没有进行进一步的检验和处理,这样就会造成SQL的二次注入。),而网站程序默认数据库中的数据都是安全的,当网站程序第二次调用刚才存储的脏数据的时候,则不会转义使用而是直接使用,因此就会达到注入的效果。,存入数据库的数据仍为。...原创 2022-07-26 18:06:55 · 798 阅读 · 0 评论 -
SQL注入 Less23(过滤注释符)
先去掉左右两边各一个单引号,相当于语文中的引用。因为过滤了注释符,我们可以手动闭合后面的单引号。尝试使用union注入,因为是有回显点的。想使用报错注入的,因为是会有报错信息的。直接使用union,来逐个测试字段数。很明显知道是单引号闭合。这部分,导致语句出错了。...原创 2022-07-24 20:11:25 · 1583 阅读 · 0 评论 -
SQL注入 Less18(头部注入+报错注入)
_SERVER是PHP预定义变量之一,可以直接使用,它是一个包含了诸如头信息(header)、路径(path)及脚本位置(scriptlocations)信息的数组。$_SERVER数组中的元素由Web服务器创建,但不能保证每个服务器都提供全部元素,有的服务器可能会忽略一些,或者提供一些没有在这里列举出来的元素。一个select查询语句,因为必须要$row1不为空,才可以进入下面的if,所以我们输入的uname和passwd都必须是正确存在的用户。check_input函数,...原创 2022-07-24 19:10:34 · 755 阅读 · 0 评论 -
SQL注入 Less17(报错注入+子查询)
magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。在这里,我们利用updatexml函数的报错机制进行注入,原理就是当第二个参数的格式和Xpath的格式不符的时候,就会产生报错,我们可以将我们的payload构造到第二个参数中,让其随着报错信息展示到页面上。界面发生了一个明显的变化,是更新密码的,只需要我们输入用户名和新密码。..原创 2022-07-24 15:47:32 · 722 阅读 · 0 评论 -
【Try to Hack】sql注入 Less7 (into outfile和布尔盲注)
加单号会报错,但是没有告诉我们具体的报错信息,所以无法使用报错注入发现使用 、 、 不会报错发现使用 、 、 会报错不会报错的直接不看,肯定不是那种闭合方式然后测试 、 、没有报错,所以闭合方式为根据上面所述的,会有报错和不报错两种情况,所以就是bool型的 不报错 报错 获取数据库长度 获取数据库第一个字符 获取数据库第一个字符获取数据库第一张表名的第一个字符 获取security数据库中users表中第一个字段的第一个字符 获得security数据库中users表中的原创 2022-07-19 20:41:51 · 617 阅读 · 0 评论 -
【Try to Hack】sqlmap
📒博客主页:开心星人的博客主页🔥系列专栏:Try to Hack🎉欢迎关注🔎点赞👍收藏⭐️留言📝📆首发时间:🌴2022年5月27日🌴🍭作者水平很有限,如果发现错误,还望告知,感谢!《web安全功防》学习所得最简单使用-upython2 sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1当注入点后参数大于一个时,需要加双引号python2 sqlmap.py -u "http://localhost/sqli-lab.原创 2022-05-27 10:15:51 · 370 阅读 · 0 评论 -
sql-lab 1~5
1?id=1?id=1'?id=1%27--+?id=1' order by 1--+?id=1' order by 4--+所以有四个字段?id=1' union select 1,2,3--+因为web页面只能显示一行数据?id=-1' union select 1,2,3--+将让第一行数据显示不出来或者?id=1' union select 1,2,3 limit 1,1--+可以看到有回显的字段2和字段3?id=-1' union select 1,2,g原创 2022-05-12 14:57:22 · 610 阅读 · 0 评论