永发信息网

SQL注入的一些疑问

答案:4  悬赏:70  手机版
解决时间 2021-05-04 17:41
  • 提问者网友:浩歌待明月
  • 2021-05-03 22:30

1、拿网站www.test.com举例
为什么不能直接在地址栏输入www.test.com? (select count(*) from sysobjects)>0
而要输入
http://www.test.com/list.asp?id=49 and (select count(*) from sysobjects)>0
2、为什么我
http://www.test.com/list.asp?id=49
http://www.test.com/list.asp?id=49 and 1=1
http://www.test.com/list.asp?id=49 and 1=2
3种情况返回的页面时一样的= =!???
希望知道的童鞋告诉下,谢谢~~
最佳答案
  • 五星知识达人网友:怀裏藏嬌
  • 2021-05-03 23:41

http://www.test.com/list.asp?id=49 and (select count(*) from sysobjects)>0


网站背后其实是一层一层的目录 如果你直接打SQL语句的话他会当做地址来处理 所以需要逻辑运算符


返回值情况一样是因为别人做过异常处理了 就像你知道鸡蛋可以砸人(=1) 但是人家明确规定了 鸡蛋不能砸人 (text!=1)


这时候鸡蛋砸人就行不通了额

全部回答
  • 1楼网友:老鼠爱大米
  • 2021-05-04 03:57

1.SQL猪肉的产生是因为参数接受没有过滤,将提交的恶意字符代入了sql语句导致的非法查询

所以必须有个参数的接受过程,就如你距离的list.asp?id= ,这里的id就是一个参数,必须有值。

2.可能过滤了and这个关键字,或是页面不存在注入。

  • 2楼网友:爱难随人意
  • 2021-05-04 02:24
不是我说你当啥黑客嘛!为了这个世界的安全我要正义的说一句,感你娃读书你要去产牛儿
  • 3楼网友:迟山
  • 2021-05-04 00:45

地址栏不识别SQL语句的

而且地址栏的连接符号好像是&

貌似一般的所说的不是你理解的那样吧

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯