문제점: id가 비번이 다 입력될때까지 한번만 입력되어서 로그인 제대로 안됨 (반복문수정필요)
어떻게 해결했느냐?
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ossiriand&logNo=220645922818
를 참고해서, i안의 중첩 반복문 j반복문을 따로 함수로 만들어서 호출해주고,
변수를 return한걸 다시 정의하는걸 잊지 않았고,
continue를 써서 j반복문이 끝나면 i 반복문의 처음으로 돌아가도록 했다.
처음에는 이전과 같았는데,
i반복문 안에있던 구문을 j반복문으로 옮겨주니
id리스트의 i번째가 j반복문이 다 실행될때까지 고정되어 해결되었다.
def Loop_1(id,pw,list_pw,url,i):
count = 0
response = []
for j in list_pw:
driver.find_element_by_name(id).send_keys(i)
driver.find_element_by_name(pw).send_keys(j)
driver.find_element_by_name('Login').click()
html = driver.page_source
res_num = len(html)
response.append(res_num)
wait = WebDriverWait(driver,2)
try:
page_loaded = wait.until_not(
lambda driver: driver.current_url == url)
print("로그인성공")
#이게 제대로 안됨
loginsuccess = "true"
except TimeoutException:
loginsuccess = "false"
print("로그인 실패")
count +=1
return response,loginsuccess,count
#3.로그인과 로그인 확인함수
#id는 input 의 type -> text필드
#pw는 input type -> password필드
#다른 페이지에 시도했을때 될만하게 태그찾기를 수정하기
def getLogin(id,list_id,pw,list_pw,url):
for i in list_id:
if Loop_1(id,pw,list_pw,url,i):
continue
response,loginsuccess,count = Loop_1(id,pw,list_pw,url,i)
final1 = check_secure1(response)
final2 = check_secure2(loginsuccess)
print_secure(final1,final2)
근데 new문제점이 생겼다.
dvwa의 서버는
아이디가 admin,비밀번호가 password임에도 불구하고
로그인 성공이 되지도 않고, 뜨지도 않는다. 뭐가 문제일까..
'✍2021,2022 > web보안' 카테고리의 다른 글
경로추적 결과 스크린샷 - [selenium 스크린샷] (0) | 2021.08.12 |
---|---|
약한문자열강도 중간점검 (0) | 2021.08.04 |
python 새롭게 알게된것(1) (0) | 2021.08.04 |
중간 점검 (0) | 2021.07.22 |
약한문자열, 정보누출 (0) | 2021.07.07 |