![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
a tale of a tub
这个作者很懒,什么都没留下…
展开
-
sql_labs第十七关
做到了sql_labs的第十七关,之前的做的关卡都是可以经过一些尝试通过的,但是这关尝试了很多东西还是没有报错注入 只有通过代码审计查看本关的注入原理了 首先是看懂这个input_check()函数 之后我们要看看到这个,也是本题的解题点 这里我们可以看到,首先进行上传数据的判断,但是$uname是通过上面的input_check函数进行了相关的过滤,所以在第一个文本框是没办法输入的,但是密码并没有进行相关的过滤。 所以本关的重点是在密码框这里。 可以看出在得到row变量的之后,如果不为空,代码将要使原创 2021-07-15 17:49:13 · 397 阅读 · 0 评论 -
SQL注入简单的万能密码
本次学到的是最简单的sql的万能密码来得到flag 2‘or’1 本次的万能密码的原理是输入后,结果变为 Select user_id,user_type,email From users Where user_id=’ admin’ And password='2’or’1’转载 2021-01-20 10:08:35 · 336 阅读 · 0 评论 -
极客大挑战LOVESQL
首先看到输入框 想到我们的万能密码进入 登陆之后发现了用户信息和密码 之后我们还是要检测有几个列 这里偷懒了,没有使用order by 因为一般都是3列,所以就将usernam的名称改为1’ 导致前面错误,用union select username=1' union select 1,2,3%23 &password =123 之后就显示了出来 开始有想法,把version()和database()输入到2和3里面 这里我们知道了数据库的名称,就可以开始爆破数据表 username=1'转载 2020-07-31 16:56:27 · 186 阅读 · 0 评论 -
sqlmap
基本使用: python sqlmap.py -u “url” 检测注入点 –dbs 列出左右数据库的名字 –current -db 列出当前数据库的名字 -D 注定一个数据库 –tables 列出表明 eg: -D “数据库名” --tables -T 指定表名 –columns 列出所有字段名 -C转载 2020-07-27 09:43:34 · 61 阅读 · 0 评论 -
SQL注入
SQL注入 ?id= 35 +1/-1 select * from tbName where id=$id ?id= 35’ 字符型 或者是数字型 select * from tbName where id=35’ 报错信息有35就是字符型,没有35就是数字型 测试页面是否有布尔类型的状态 ?id=35 and 1=1 ?id=35 and 1=2 ?id=35 and sleep(5) 是否延迟 联合查询 union select语句 两条sel转载 2020-07-27 08:56:08 · 105 阅读 · 0 评论 -
SQL语句解析过程
from后面的表标识了这条语句要查询的数据源 from过程之后会形成一个虚拟的表VT1 where 对VT1过程中生成的临时表进行过滤,满足的插入到VT2 group by 会把VT2生成的表按照group by 中的列进行分组 生成vt3 having这个子句会对vt3表中的不同分组进行过滤,vt4 select 这个子句会对select子句中的元素进行处理,生成vt5 计算表达式计算sekect,vt5-1 distinct寻找vct5..转载 2020-07-26 10:35:09 · 132 阅读 · 0 评论