继续写题。

  这题看上去是一道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。如下图所示。

最新文章

  1. JS控制键盘录入 和 window.event.keycode对照
  2. 聊下git pull --rebase
  3. LeetCode(97) Interleaving String
  4. Red Hat Enterprise Server 5.8+oracle10g(中文界面)安装
  5. 1110Nested Loop Join算法
  6. MongoDB学习笔记——MongoDB 连接配置
  7. Swift游戏实战-跑酷熊猫 07 平台的移动
  8. Interface Comparator
  9. Maven是如何工作的
  10. Perfect Squares
  11. Mac环境下使用VSCode搭建Go开发环境
  12. iptables(4)规则编写
  13. 牛客寒假训练营3 B 处女座的比赛资格(拓扑排序+最短路)
  14. 最新版本elasticsearch本地搭建入门篇
  15. vs 附加进程 iis进程显示
  16. [Android] 针对生成的图片文件在系统Gallery不显示的处理
  17. 【Vue学习笔记1】全局配置 Vue.config
  18. ubuntu 12.04 上网体验
  19. 洛谷P1396 营救
  20. 【bzoj1774-过路费】floyd+排序

热门文章

  1. 从零玩转JavaWeb系列7web服务器-----get与post的区别
  2. MyBatis 与 Hibernate对比
  3. springmvc jpa
  4. Callable接口使用以及计算斐波那契数字的数值总和
  5. freeswitch由于ext-sip-ip地址填写错误导致32秒拆线问题
  6. 高德地图-android 权限设置
  7. Bigtable:一个分布式的结构化数据存储系统
  8. [C++] decltype(auto) C++ 11 feature
  9. [Training Video - 4] [Groovy] Constructors in groovy, this keyword
  10. HttpContext.Current.Session[strName]未将对象引用设置到对象的实例