sql注入
wkend
菜鸟小白,希望在这里结交朋友,增长知识技能。
展开
-
sqli-labs练习(一)-------GET-Error based-Single quotes-String
关于sqli-labs环境的搭建在这里不讲了,网上有很多, 初始页面 判断是否存在sql注入, 输入1,成功返回了结果 输入1',报错 输入1' and 1=1%23,返回成功, 输入1' and 1=2%23,没有返回结果 此外,除了and,还有or,+,-等,不过要注意的一点是+号在url表示为%2b,-号不用表示根据以上结果,我们就可以判定这是字符型sq...原创 2018-04-15 20:36:53 · 741 阅读 · 0 评论 -
sqli-labs练习(十三)--- POST-Double Injection-Single quotes-String-with twist
payload:uname=123 or 1=1#&passwd=111&submit=Submit,登录失败payload:uname=123' or 1=1#&passwd=111&submit=Submit, 报错You have an error in your SQL syntax; check the manual that correspon...原创 2018-07-26 16:18:44 · 311 阅读 · 0 评论 -
sqli-labs练习(十四)--- POST-Double Injection-Single quotes-String-with twist
这一关与上一关很相似,唯一的区别就在于是采用双引号来闭合的, 直接可以用万能密码成功登录,比如123" or 1=1# 在获取数据库信息是把')替换为"即可。 payload:uname=123" union select count(*),concat(':',(select database()),':',floor(rand()*2))as a from information_s...原创 2018-07-26 16:31:12 · 464 阅读 · 0 评论 -
sqli-labs练习(十五、十六)
sqli-labs练习(十五)— POST-Bind-Boolean/time Based-Single quotes同样,使用万能密码即可登录成功,进过几次注入尝试发现是基于布尔型的盲注。 万能密码:123' or 1=1#,即可登录成功。基于布尔型的sql注入稍微麻烦,因为要不断的测试,根据页面的反应来猜测后台数据库信息。 下面直接放payload:uname=1' or (s...原创 2018-07-27 17:55:09 · 1474 阅读 · 0 评论 -
sqli-labs练习(十七)--- POST-Update Query-Error Based-String
在用万能密码进行登录的时候发现,username处无法绕过对密码的检查,总是登录失败。猜测后台对uname参数的值有过滤。导致无法注入。使用正常方式进行登录,发现在前台可以修改用户的密码。 再次尝试,发现passwd出存在sql注入漏洞, payload:uname=admin&passwd=123'&submit=Submit,出现报错语句 于是在passwd出...原创 2018-07-28 09:27:29 · 461 阅读 · 0 评论 -
sqlmap的使用 ---- 入门
sqlmap是一个自动化的sql注入工具,其主要功能就是扫描、发现给定url的sql注入漏洞。1. 判断是否存在注入当url中存在两个参数时,要使用双引号sqlmap -u +rul2. 判断文本中的请求是否存在注入 利用工具burp suite抓包,保存为文件 sqlmap -r +http请求文本 3. 查询当前用户下的所有数据库sqlmap...原创 2018-09-07 21:14:06 · 3734 阅读 · 0 评论 -
sqlmap的使用 ---- 进阶
1. –level 探测等级一共有5个等级,默认是1。 sqlmap使用的payload可以在xml\payloads中看到,也可以根据相应的格式添加自己的payload,5级包含的payload最多。 http cookie在2级时可以检测 HTTP user-Agent/Referer在3级时就会检测2. –is-dba 当前用户是否为管理员权限sqlmap -u "http...原创 2018-09-09 10:49:08 · 15173 阅读 · 0 评论 -
sqli-labs练习(十八、十九、二十、二十一)
按照正常思路,先是对username和password输入框进行测试,并没有找到注入点,页面上显示的ip地址也很奇怪,最会无奈查看了源代码,才发现了突破口。发现后台对uname和passwd有检查过滤函数check_input于是跟进check_input函数,发现对输入的参数进行了长度限制,纯数字过滤,特殊符号过滤到现在我们就可以看出,在uname和passwd出已经无法入手,,,,...原创 2018-10-14 00:05:39 · 1084 阅读 · 0 评论 -
SQL 注入总结
0x01 什么是SQL注入sql注入就是一种通过操作输入来修改后台操作语句达到执行恶意sql语句来进行攻击的技术。0x02 SQL注入的分类按变量类型分数字型字符型按HTTP提交方式分GET注入POST注入Cookie注入按注入方式分报错注入盲注布尔盲注时间盲注union注入编码问题宽字节注入0x03识别后台数据库1. 根据操作...原创 2018-10-10 21:08:57 · 3016 阅读 · 0 评论 -
BTS测试实验室 --- SQL注入关攻略
一. Sql注入1判断注入点:http://127.0.0.1/btslab/vulnerability/ForumPosts.php?id=1’如下图,报错,存在sql注入手工注入,(1)爆字段数:http://127.0.0.1/btslab/vulnerability/ForumPosts.php?id=1 order by 4,页面返回正常http://127.0.0.1/b...原创 2018-10-25 23:19:21 · 750 阅读 · 0 评论 -
sqli-labs练习(十二)--- POST-Error Based-Double quotes-String-with twist
通过万能密码发现是双引号的变形, 这里直接上payload,就不再讲测试的过程了, 爆数据库名和版本uname=123") union select database(),version()#&passwd=Dumb&submit=Submit其余操作请参考前面几关,大同小异。...原创 2018-07-25 19:57:52 · 313 阅读 · 0 评论 -
sqli-labs练习(十一)--- POST-Error Based-Single quotes-String
一般看到这种需要登录的可能第一反应就是使用暴力破解,但是这里我们主要讨论的是sql注入,所以爆破就不在这里讲了。发现需要登录,尝试使用万能密码登录, 万能密码的介绍:https://bbs.ichunqiu.com/thread-10851-1-1.htmlpayload:username=admin' or 1=1#,password=任意输入, 登录成功,同时得到了一个账号的用...原创 2018-07-25 19:29:39 · 365 阅读 · 0 评论 -
sqli-labs练习(十)--- GET-Blind-Time based-double quotes
payload:id=1, 通过几次尝试,可以发现,这是一个基于时间的盲注, payload:id=1' and sleep(5)%23,时间并没有延迟5秒,说明不是单引号的闭合 payload:id=1" and sleep(5)%23,页面发生延迟,说明是双引号的闭合 payload:id=1" and if(ascii(substr(database(),1,1))=...原创 2018-07-25 09:45:37 · 315 阅读 · 0 评论 -
sqli-labs练习(二)----------GET-Error based-ingiter based
这一节是数字型注入, sql查询语句源码$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1"; 可以看到,$id并没有用单引号括起来,在sql语句中,对于数字型是数据可以不加单引号,不用考虑单引号的闭合以及注释问题。 输入1,查看结果 输入1',查看结果 由此可以判定,这是属于数字型sql注入。 所以,这里和上一节的区别就是不加单引...原创 2018-04-15 22:54:50 · 358 阅读 · 0 评论 -
sqli-lab练习(三)--------GET-Error based-Single quotes with twist-String
sql语句源代码 $sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";首先,我们先构造一个单引号注入' 我们来分析,错误提示'''') LIMIT 0,1' 由于在sql语句中,单引号的数量都是双数的,这样才能正确的闭合语句,但是在错误提示中我们可以看到,出现了5个',这就出现了问题,sql语句没有正常闭合。而且,根据sql...原创 2018-04-16 22:02:53 · 602 阅读 · 1 评论 -
sqli-labs练习 (四)------GET-Error based-Double Quotes-String
输入1,返回结果 输入1',返回结果 咦,这是咋回事?怎么都能返回结果?根据打印出来的sql语句可以看到 SELECT * FROM users WHERE id=("1'") LIMIT 0,1 原来是双引号的缘故,我们知道,在双引号里是可以包含单引号的下面是sql查询语句源代码 $id = '"' . $id . '"'; $sql="SELECT * FROM use...原创 2018-04-17 20:35:33 · 357 阅读 · 0 评论 -
sqli-labs练习(五)------GET-Double injection-Single Quotes-String
按提示,输入id参数1,得到回馈结果,但是没用 输入1',报错 查看报错信息near ''1'' LIMIT 0,1' at line 1 输入参数1'',没有报错, 通过以上过程可以发现,当我们改变参数的时候,回显只有两种结果 1>You are in........... 2> 报错信息 没办法,正确的查询只返回第一种情况,那么只能靠第二种回显结果了,...原创 2018-04-17 22:35:43 · 912 阅读 · 0 评论 -
sqli-labs练习(七)-----GET-Dump into outfile-String
根据提示,输入id参数1 输入1'出现报错信息,可是并没有错误的描述信息 输入1",返回正常 这里和前面基本一样,只有两种回显结果,但是唯一的区别就是错误回显并没有详细的错误描述。这下不好办了,怎么才能从数据库得到我们想要的数据呢???注意返回正常时的回显语句You are in.... Use outfile......可以看到,这里给出了提示Use outfile...原创 2018-04-22 15:09:22 · 2060 阅读 · 1 评论 -
识别数据库
要想成功发动sql注入攻击,最重要的是知道应用正在使用的DBMS(数据库管理系统)。没有这一数据,就不能向查询注入信息并提取自己感兴趣的数据。web应用技术 Microsoft SQL Server:ASP和.Net MySQL:PHP Oracle/MySQL:java底层操作系统 安装IIS(Internet信息服务器)作为服务器服务平台标志着应用是基于windows架构,...原创 2018-04-23 22:17:11 · 1043 阅读 · 0 评论 -
sql-labs练习(六)-----GET-Double injection-Double Quotes-String
输入参数id的值1 输入1' 通过以上测试结果可以推断出,sql查询语句中使用到了双引号"",因为参数1'有回显You are in...........再次测试,输入1",注意这里是双引号,不是两个单引号,出现报错信息 现在,可以推断出的就是,回显只有两种情况, 1.You are in........... 2.报错信息注意看报错信息or the right ...原创 2018-04-20 23:04:44 · 417 阅读 · 0 评论 -
sqli-labs练习(八)------GET-Blind-Boolian Based-Sing Quotes
输入1,回显You are in........... 输入1',没有回显 sql基于布尔的盲注相关函数 函数 作用 length(str) 返回字符串str的长度 substr(str, pos, len) 将str从pos位置开始截取len长度的字符进行返回。注意这里的pos位置是从1开始的,不是数组的0开始 mid(s...原创 2018-04-26 23:58:52 · 550 阅读 · 0 评论 -
sqli-labs练习(九)------GET-Blind-Time based-Single-Quotes
payload:id=1,回显结果:You are in........... payload:id=1'%23,回显结果:You are in........... payload:id=1"%23,回显:You are in........... payload:id=1' and 1=1%23,回显:You are in........... payload:id...原创 2018-07-25 09:06:02 · 572 阅读 · 0 评论 -
cookie注入
0x00 什么是cookie?cookie是当前识别用户,实现持久会话的最好的方式,有时也叫cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。cookie最初是由网景公司开发的,现在所有的浏览器都支持。“Cookie”是小量信息,由网络服务器发送出来以存储在网络浏览器上,从而下次这位独一无二的访客又回到该网络服务器时,可从该浏览...原创 2018-11-08 13:13:08 · 2710 阅读 · 0 评论