首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL递归查询_函数语法检查_GROUP_CONCAT组合结果集的使用

在MySQL可以通过创建函数,来使用上面的流程控制语句,Mysql对函数的语法检查也是很苛刻的,可以说很烦人,不熟悉的人估计会哭。。。...2-递归查询关键部分:   a-我的表结构:   b-我的递归脚本:   用于查询:当前类目ID及所有的父级元素的ID使用逗号分割开的一个字符串:   下面脚本里使用了组合结果集的一个函数:GROUP_CONCAT...SELECT ParentID INTO pid FROM product_leimu WHERE 1=2; -- 找不到数据的情况下, INTO 无法给pid赋值,pid结果不变, SELECT GROUP_CONCAT...:   函数:GROUP_CONCAT:将结果集链接在一起,使用逗号分隔,group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator...INTO 给pid赋值,NULL   我们这里是想在查不到的结果的时候,通过WHILE的判断结束循环,如果不通过GROUP_CONCAT函数将结果传给pid,那么将会进入无线循环当中,是很坑的!!

2.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    新手指南:DVWA-1.9全级别教程之SQL Injection

    DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境...初学者可以通过比较四种级别的代码,接触到一些PHP代码审计的内容。 ?...> 可以看到,Low级别的代码对来自客户端的参数id没有进行任何的检查与过滤,存在明显的SQL注入。...需要特别提到的是,High级别的查询提交页面与查询结果显示页面不是同一个,也没有执行302跳转,这样做的目的是为了防止一般的sqlmap注入,因为sqlmap在注入过程中,无法在查询提交页面上获取查询的结果...*本文原创作者:lonehand,转载须注明来自FreeBuf.COM

    3.1K80

    SQL注入详谈

    原理 针对 SQL 注入的攻击行为可描述为通过用户可控参数中注入 SQL 语法,破坏原有 SQL 结构,达到编写程序时意料之外结果的攻击行为。...>' INTO OUTFILE ' D://phpStudy//WWW//hack.php ' MySQL 中 UNION 规则 UNION 必须由两条或两条以上的 SELECT 语句组成,语句之间用关键字...UNION 会从查询结果集中自动去除了重复行。...id=6 order by n 注:通常使用“order by N”,通过不断变换N的值,至刚好返回正常的网页,可得到当前表的字段数 2.判断显示位 http://www.xxx.com/test.php...本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我联系处理。

    65220

    MySQL查询分组后如何分隔和聚合合并数据,来看这一篇文章就够了!

    GROUP_CONCAT() 在MySQL中,GROUP_CONCAT() 函数是一个聚合函数,用于将来自多个行的字符串值连接成一个字符串。...它通常与 GROUP BY 子句一起使用,以便对特定组的数据进行汇总。GROUP_CONCAT() 函数非常有用,当你需要将多行数据合并成一个单独的字符串时,比如生成逗号分隔的列表。...注意事项 默认长度限制: MySQL对GROUP_CONCAT()函数的结果有一个默认的长度限制,通常是1024个字符。 如果连接后的字符串长度超过了这个限制,那么结果可能会被截断。...排序: 可以通过在GROUP_CONCAT()函数内部使用ORDER BY子句来指定连接时值的排序方式。 这对于确保结果按照特定的顺序(如字母顺序或数字顺序)显示很有用。...可以通过使用IFNULL()函数或COALESCE()函数来处理NULL值,使它们在连接时显示为特定的字符串(如空字符串或默认值)。

    45010

    SQL注入笔记总结

    在不断实践中经常遇到如下注入类型,总结了一些笔记 注入类型总结 注入类型 条件 关键 union注入 显示查询结果 order by , union select 布尔注入 只返回False或者True...and/ 反注入函数总结 函数名称 作用 addslashes($string) 用反斜线引用字符串中的特殊字符' " \ mysql_escape_string($string) 用反斜杠转义字符串中的特殊字符...,用于mysql_query()查询 mysql_real_escape_string($string) 转义SQL语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集,需要保证当前是连接状态才能用该函数...(user) from mysql.user)–+ 用户hash union select 1,(select group_concat(password) from mysql.user where...’–+ 绕过登录验证 admin’ – admin’ # admin’/* ‘ or 1=1– ‘ or 1=1# ‘ or 1=1/* ‘) or ‘1’=’1– ‘) or (‘1’=’1– 特定符号绕过

    78832

    MySQL手工注入学习-1

    从返回的结果发现问题,没有显示全部的字段信息;可以利用筛选过滤条件来 and extractvalue(1,concat(0x7e,(select group_concat(username,0x7e,...在执行的时候就会越过Dumb和Angelina信息,显示后面的信息……以此类推!...login.php中使用了mysql_real_escape_string()函数对用户输入的字符串进行处理;会将特殊字符进行转义使之失去效果;但是~之后数据存储进数据库后转义的字符会恢复原样!...在login_create.php注册页面中,使用了mysql_real_escape_string()但是数据还是会被存放在数据库中…… ? 数据会被完整的记录在数据库中 ?...和PHP标签,当然你也可以通过设置该函数的第二个参数,让一些特定的标签出现。

    1.3K30

    全网最全sqli-labs通关攻略(建议收藏)

    id=1' order by 4%23 # 页面显示错误 说明字段数为3 执行注入Payload # 判断显示的信息点,通过id=-1来执行联合查询 http://localhost/sqlilabs...# 数据库安装路径 @@version_compile_os # 操作系统版本 查看数据库数据 查看表名称 group_concat函数:将查询到的多行结果连接成字符串 http://localhost......猜测正确的页面不变,不会将查询结果打印到页面了,查看源码发现,确实是不输出结果了 $sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1"; $result...字段数据头注入 注入点判断 页面显示yourip应该是请求头的参数参入 同时post传入并未有该参数 用admin登录成功后发现有User-agents显示 无法使用hackbar插件提交了,需要用到...修改密码文件 pass_change.php 登录文件 login.php 都使用了mysql_real_escape_string函数对注册的参数进行过滤 但在修改密码文件中却是直接调用username

    23.6K710

    提交单引号

    例如: a.首先猜测,当字段为2时页面返回错误 b.增加一个字段,为3时,页面显示正确 c.再次增加一个字段,为4时,页面显示错误 上面的结果,说明字段数就是3,输入的数大于或小于字段数时都会报错...第一种:我们让第一个查询的结果始终为假 上图可看到,什么都没有显示,因为填充时使用的null,所以返回的就是空null....的函数用于获取二进制码; 解释3: mid()是mysql的函数用于截位操作; 解释4: version()是mysql的函数用于获取当前数据库的版本; 显示正确:我这用的的mysql版本是大于5.0...id=2 union select null,schema_name,null from information_schema.schemata limit 0,1 上图,并没有显示数据库名而显示的是第一条语句查询出来的结果...方法1: 用group_concat它可以返回查询的所有结果,因为我们需要通过命名判断该我们需要的敏感数据。 group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。

    1.7K20

    代码审计:BlueCMS v1.6

    bluecms_src/, 能看到项目文件 3.访问地址:http://localhost/bluecms_src/uploads/install/ 就会进入到安装界面,按照提示配置好参数,注意数据库用户名和密码要与你的mysql...$ad_id); getone()是自定义的函数,getone()方法位于/include/mysql.class.php第61行,作用是执行SQL语句并输出 function getone($sql,...,因而存在SQL注入漏洞 还有一个有意思的点,查询结果是经过一系列判断后输出到了html的代码注释中,也就是说显示位在浏览器源码中查看 38行 echo "<!...ad_id=1 order by 8 #报错 ''' 所以字段数为7 ''' #确定显示位 http://127.0.0.1/bluecms_src/uploads/ad_js.php?...易错点:form语句要放在select 1,2,3,4,5,6的后面,直接放在1,2,3...的位置上得再加一个select并括起来 eg: 1 union select 1,2, (select group_concat

    2.8K20

    SQL注入总结

    报错注入 数据库查询返回结果并没有在页面中显示,但是应用程序将数据库报错信息打印到了页面中,所以攻击者可以构造数据库报错语句,从报错信息中获取想要获得的内容。...盲注 数据库查询结果无法从直观页面中获取,攻击者通过使用数据库逻辑或使数据库库执行延时等方法获取想要获得的内容。...; 显示计算机名:select @@hostname; 显示系统版本:select @@version_compile_os; 显示mysql路径:select @@basedir; 显示数据库路径...MSSQL手工注入 与MySQL注入不同的是,MySQL利用的爆出显示的字段,MSSQL利用的报错注入,插入恶意的sql语句,让查询报错,在报出的错误中,显示我们想要的信息。...40119 + 1*/ 该查询结果: 返回2(MySQL版本为4.01.19或者更高) 返回1(其他情况) 10.如果注入语句中的‘=’被过滤?

    2K51

    SQL注入从入门到进阶

    select 1,2:例如一个网站的参数传递执行的查询有3个字段,很可能这些字段不是都显示在网页前端的,假如其中的1或2个字段的查询结果是会返回到前端的,那么我们就需要知道这3个字段中哪两个结果会回显,...(如id,password),当数据爆破成功后,就会在窗口显示我们想要的结果。...时需要将前面的查询结果限定为空集,后面的查询结果才能显示出来。...,而盲注时攻击者通常是无法从显示页面上获取执行结果,甚至连注入语句是否执行都无从得知,因此盲注的难度要比一般注入高。...XXX.ceye.io\\abc拼接,构成\\root.XXX.ceye.io\abc,而 mysql 中的 select load_file()可以发起 DNS 请求 4、那么这一条带有数据库查询结果的域名就被提交到

    3.9K41

    SQL 注入漏洞检测与利用

    id=1 order by 4 # b.上面查询没有显示任何结果,我们查询4个字段无返回值,说面该表小于4个字段,我们继续使用3测试,此时返回了结果. index.php?...id=1 union select null,null,schema_name from information_schema.schemata limit 0,1 以上查询结果,并没有显示数据库名而显示的是第一条语句查询出来的结果...where table_schema='lyshark' #查lyshark库中表名称 查表名称(2): 同样,使用下面的语句也是可以查出数据库中的表,但该查询方式会分行显示查询的结果. index.php...,从而报错或无法正常显示. a.首先我们猜测数据库有6个字段,尝试根据第6行进行排序发现数据无法显示,说明是小于6的. index.php?...id=1' and 1=1 order by 6 --+ b.上面查询没有显示任何结果,我们查询6个字段无返回值,说面该表小于6个字段,我们继续使用5测试,此时返回了结果. index.php?

    4.4K20

    SQL注入-报错注入

    报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。...二、利用报错注入的前提 1.页面上没有显示位,但是必须有SQL语句执行错误的信息。 三、报错注入的优缺点 1.优点:不需要显示位,如果有显示位建议使用union联合查询。...因为floor(rand(0)*2)的重复性,导致group by语句出错。group by key的原理是循环读取数据的每一行,将结果保存于临时表中。...: 2.利用extractvalue()函数进行报错注入 extractvalue()函数为MYSQL对XML文档数据进行查询的XPATH函数。...),1,20)))) --++&submit=æ¥è¯¢ 查询结果: 3.利用updatexml()函数进行报错注入 updatexml()函数是MYSQL对XML文档数据进行查询和修改的

    3.4K10
    领券