WEB新手之sql注入
继续写题。
这题看上去是一道sql注入题。F12查看后台代码。
可以看到后台有两个变量,分别是uname以及passwd。然后接下来读一下后台的代码,这里的意思是,如果用户输入的密码经过md5加密后,和通过select语句选出来的password相等,则输出“login success”,否则输出“login fail”。利用这里md5()条件语句,我们可以对后台的sql语句进行注入。
发包之后,这里后台的sql语句实际上就变成了"select password from gwuser where username ='-1' union select md5(1)#'"。接下来后台条件语句进行判断的时候,因为此时row['password']为md5(1),而发过去的包里面passwd亦等于md5(1),条件成立,所以页面会跳转到这样一个界面,如下图所示。
继续F12查看后台代码,如下图所示。
可以看到后台也有两个变量,分别是no和name。先尝试一下sql注入爆表,如下图所示。
成功爆出表名——“gwhts"。
而后继续爆行,如法炮制。不过接下来很快会发现报错,弹出"Attack!"。
检查过自身语句没有错误后,这时考虑到了后台对标点符号的过滤(本题亮点)。于是将? / . ' ` "等英文标点符号导入到burpsuit,一起发包,得到下图。
通过上面两张图我们可以发现,在输入name变量的时候, ' 被后台过滤掉了,而其他字符没有。于是sql注入语句应该要改为"no=-1\&name= union select column_name from information_schema.columns where table_name="gwhts" limit 1,1#"。爆出行val。
最后爆出flag。如下图所示。
最新文章
- JS控制键盘录入 和 window.event.keycode对照
- 聊下git pull --rebase
- LeetCode(97) Interleaving String
- Red Hat Enterprise Server 5.8+oracle10g(中文界面)安装
- 1110Nested Loop Join算法
- MongoDB学习笔记——MongoDB 连接配置
- Swift游戏实战-跑酷熊猫 07 平台的移动
- Interface Comparator
- Maven是如何工作的
- Perfect Squares
- Mac环境下使用VSCode搭建Go开发环境
- iptables(4)规则编写
- 牛客寒假训练营3 B	处女座的比赛资格(拓扑排序+最短路)
- 最新版本elasticsearch本地搭建入门篇
- vs 附加进程 iis进程显示
- [Android] 针对生成的图片文件在系统Gallery不显示的处理
- 【Vue学习笔记1】全局配置 Vue.config
- ubuntu 12.04 上网体验
- 洛谷P1396 营救
- 【bzoj1774-过路费】floyd+排序
热门文章
- 从零玩转JavaWeb系列7web服务器-----get与post的区别
- MyBatis 与 Hibernate对比
- springmvc jpa
- Callable接口使用以及计算斐波那契数字的数值总和
- freeswitch由于ext-sip-ip地址填写错误导致32秒拆线问题
- 高德地图-android 权限设置
- Bigtable:一个分布式的结构化数据存储系统
- [C++] decltype(auto) C++ 11 feature
- [Training Video - 4] [Groovy] Constructors in groovy, this keyword
- HttpContext.Current.Session[strName]未将对象引用设置到对象的实例