@@ -120,25 +120,24 @@ def payload_launcher(self):
120120 def do_GET (self ):
121121 """Determines how to handle HTTP requests"""
122122 try :
123- path = self .path .rsplit ('/' , 1 )[- 1 ]
124- if path == 'ps4-updatelist.xml' :
123+ if re .match ('^/update/ps4/list/[a-z]{2}/ps4-updatelist.xml' , self .path ):
125124 self .updatelist ()
126- elif path == ' ps4-updatefeature.html' :
125+ elif re . match ( '^/update/ ps4/list/[a-z]{2}/ps4-updatelist.xml' , self . path ) :
127126 self .updatefeature ()
128- elif path . endswith ( ' PS4UPDATE.PUP' ):
127+ elif re . match ( '^/update/ps4/image/[0-9]{4}_[0-9]{4}/(sys|rec)_[a-f0-9]{32}/ PS4UPDATE.PUP', self . path ):
129128 self .update_pup ()
130129 elif re .match ('^/networktest/get_2m' , self .path ):
131130 self .network_test (2097152 )
132131 elif re .match ('^/networktest/get_6m' , self .path ):
133132 self .network_test (6291456 )
134- elif re .match ('/document/[a-zA-Z\-]{2,5}/ps4/' , self .path ):
133+ elif re .match ('^ /document/[a-zA-Z\-]{2,5}/ps4/' , self .path ):
135134 self .exploit_match ()
136135 else :
137136 self .send_error (404 )
138137 except IOError :
139138 self .send_error (404 )
140139
141- if path == 'rop.js' :
140+ if self . path . rsplit ( '/' , 1 )[ - 1 ] == 'rop.js' :
142141 self .payload_launcher ()
143142
144143 def do_POST (self ):
@@ -180,8 +179,7 @@ def generate_dns_rules(lan):
180179 rules = []
181180
182181 rules .append ('A manuals.playstation.net ' + lan )
183- rules .append ('A post.net.playstation.net ' + lan )
184- rules .append ('A get.net.playstation.net ' + lan )
182+ rules .append ('A (get|post).net.playstation.net ' + lan )
185183 rules .append ('A (d|f|h)[a-z]{2}01.ps4.update.playstation.net ' + lan )
186184 rules .append ('A gs2.ww.prod.dl.playstation.net ' + lan )
187185 rules .append ('A [a-z0-9\.\-]*.cddbp.net 0.0.0.0' )
0 commit comments