• ベストアンサー

pythonのエラー

# content = r.content if status_code == 200: if( if b"<a href='function.main'>function.main</a>" not in content: and "[<a href='function.include'>function.include</a>" not in content and ("Failed opening" not in content and "for inclusion" not in content) and "failed to open stream:" not in content and "open_basedir restriction in effect" not in content and ( "root:" in content or ("sbin" in content and "nologin" in content) or "DB_NAME" in content or "daemon:" in content or "DOCUMENT_ROOT=" in content or "PATH=" in content or "HTTP_USER_AGENT" in content or "HTTP_ACCEPT_ENCODING=" in content or "users:x" in content or ( "GET /" in content and ("HTTP/1.1" in content or "HTTP/1.0" in content) ) or "apache_port=" in content or "cpanel/logs/access" in content or "allow_login_autocomplete" in content or "database_prefix=" in content or "emailusersbandwidth" in content or "adminuser=" in content or ( "error]" in content and "[client" in content and "log" in website ) or ( "[error] [client" in content and "File does not exist:" in content and "proc/self/fd/" in website ) or ( "State: R (running)" in content and ( "Tgid:" in content or "TracerPid:" in content or "Uid:" in content ) and "/proc/self/status" in website ) ) ): エラーは、 File "/home/kali/LFISuite/lfisuite.py", line 2382 if b"<a href='function.main'>function.main</a>" not in content: ^^ SyntaxError: invalid syntax ここら辺がおかしいらしいのですが、よく解りません。 他の所もおかしい気がしたのでその部分を抜粋しました。 ご教示宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.1

"if status_code == 200:"を2行目として数えた場合、3行目の"if("のカッコは49行目の"):"のカッコと対応しています。つまり、4行目から48行目が表す内容が3行目のifの条件式になっている必要があるのですが、4行目から48行目は式の形になっていないので文法エラーが出るのは当然です。 そもそも、一つの条件式を40行以上かけて書くのはとても読みづらく、センスがないと言っていいでしょう。意味のある部分ごとに関数を作って式の構造を把握しやすくするのが普通だと思います。 4行目の"if b"を消せば文法的には解決しそう(確認はしていない)ですが、何をしたいのかが不明なのでそれが正しい直し方かどうかは分かりません。

JackTheRipper99
質問者

お礼

回答ありがとうございます、 これは元からあるソースコードです。 LFISuiteと言われるペネトレーションテスト用のコードです。

関連するQ&A

専門家に質問してみよう